(해결)C언어 초보_구조체 배열 연산하는데 왜 터지는지 모르겠습니다
계수, 지수 지정하는 다항식 A, B를 연산해서 C를 만드는 코드를 짜고 있습니다.
Ex) A = 2x^2 + 1, B = x + 1 -> C = 2x^3 + 2x^2 + x + 1.
A와 B에 각각 계수, 지수에 해당하는 구조체 배열값끼리 곱해서 C에 대입하려고 하는데
하다보니 구조체 배열은 대입연산만 되고 사칙연산이 안된다길래 곱과 합을 함수로 뺐습니다.
그런데 출력에서 계수만 제대로 나오고 지수값은 이상하게 나옵니다.
함수식도 연산자만 빼면 똑같은 구조인데 왜인지 지수부분만 이상하고
끝날때는 segementation fault 나오면서 터집니다.
그리고 출력할때 printf("/n");이 없으면 계수부분마저 sege fault 나오면서 터져요..
왜 이러는지 모르겠습니다. 도와주십사...
typedef struct{
int coef;//계수
int expe;//지수
} polynomial;
int multi(int a, int b){
int result;
result = a*b;
return result;
}
int sum(int x, int y){
int sum;
sum = x + y;
return sum;
}
int main()
{
polynomial A[FIX];
polynomial B[FIX];
polynomial C[9];
int A_coef[FIX] = {2,2,3};
int A_expe[FIX] = {3,2,4};
int B_coef[FIX] = {7,3,4};
int B_expe[FIX] = {0,1,2};
int C_coef[9];
int C_expe[9];
int k = 0;
for(int i=0;i<9;i++){
for(int j=0;j
C_coef[k] = multi(A_coef[i],B_coef[j]);
C_expe[k] = sum(A_expe[i],B_expe[i]);
k = k + 1;
}
}
for(int i=0;i<9;i++)
printf("%d ", C_coef[i]);
printf("\n"); .
for(int i=0;i<9;i++)
printf("%d ", C_expe[i]);
printf("\n");
return 0;
}
아 그리고 FIX 는 3입니당...
아 그리고 FIX 는 3입니당...
반복문에 문제가 있었네요 해결했습니다 ^^;;
반복문에 문제가 있었네요 해결했습니다 ^^;;
댓글 달기