[C언어] 다변수 다항식 연산 프로그램(복소수를 문자열로 입력)
- 최초 등록일
- 2007.08.25
- 최종 저작일
- 2007.08
- C언어
- 가격 1,500원
소개글
두 다항식을 문자열로 입력받아 덧셈, 뺄셈, 곱셈 계산을 하는 프로그램입니다.
계산, 출력 함수의 값 전달은 구조체를 통해 이뤄집니다.
< 특징 및 주의사항 >
- 변수는 대문자 한 글자로 A~Z까지 26가지를 쓸 수 있습니다.
- 변수의 거듭제곱 꼴은 AA, BBB처럼 중복해 쓰면 됩니다. ^를 붇이는 지수 표현은 못합니다.
- 계수를 복소수로 입력할 수 있습니다. 허수 단위 i는 변수 뒤에 쓰든 앞에 쓰든 관계 없습니다.
- 1+4+5나 A+5A-10A처럼 같은 문자항 또는 상수항이 여럿 오더라도 계산이 됩니다.
- 괄호는 인식이 안 되므로 각 항들을 모두 풀어 써야 합니다.
- 식 중간에 빈 칸이 들어가서는 안 됩니다.
- 곱셈, 나눗셈 기호 *, /는 처리하지 못합니다.
이런 점들을 유의해서 아래처럼 수식을 입력하면 됩니다.
예1) 1.5+2.3i+AA+3B-Bi-3ABC
예2) 3-15+2i-0.3i+A-2A
/* 수식 덧셈, 뺄셈, 곱셈 */
#include
#include
#include
#include
void input_complex_num(char str[], struct expr &T);
// "x+y-3"과 같은 형식의 문자열을 받아 식을 읽어내는 함수
void expr_sum(struct expr &A,struct expr &B,struct expr &P);
// 두 식을 합산함 ( A+B -> P )
void expr_sub(struct expr &a,struct expr &b,struct expr &p);
// 두 식을 감산함 ( A-B -> P )
void expr_product(struct expr &A,struct expr &B,struct expr &P);
// 두 식을 곱합 ( A*B -> P )
void expr_copy(struct expr &A,struct expr &P);
// 식을 그대로 복사함 ( A -> P )
void print_expr(struct expr &P);
// 식을 출력
void init_expr(struct expr &);
// 식을 초기화함
void sort_var(char var[]);
// 변수항(문자열)을 알파벳 순으로 정렬
void sort_expr(expr &);
// 식을 정렬함
컴파일 실행환경
Microsoft visual C++ (콘솔창)
참고 자료
없음