#include <stdio.h>
#define MAX_DEGREE 50
typedef struct{
int degree;
int coef[MAX_DEGREE];
}polynomial;
polynomial input1(){
polynomial A={0,{0,0}};
int i=0;
printf("첫 번째 다항식의 최대 지수 크기를 입력해 주세요");
scanf_s("%d", &A.degree);
printf("사용할 첫 번째 다항식의 각 자리의 계수 값을 입력해 주세요: \n");
for( i =0 ; i <= A.degree ; i++){
scanf_s("%d", &A.coef[i]);
}
return A;
}
polynomial input2(){
polynomial B={0,{0,0}};
int i=0;
printf("두 번째 다항식의 최대 지수 크기를 입력해 주세요");
scanf_s("%d", &B.degree);
printf("사용할 첫 번째 다항식의 각 자리의 계수 값을 입력해 주세요: \n");
for( i =0 ; i <= &B.degree ; i++){
scanf_s("%d",B.coef[i]);
}
return B;
}
polynomial mult(polynomial A, polynomial B)
{
polynomial Q;
int index=0;
int i, j, k;
Q.degree=A.degree + B.degree;
Q.coef[MAX_DEGREE]=0;
for(i=0; i <= A.degree; i++){
for(j=0; j <= B.degree; j++){
for(k=0; k <= Q.degree; k++){
if(A.degree + B.degree - (i+j) == Q.degree-k){
Q.coef[index+k] += A.coef[i] * B.coef[j];
}
}
}
}
return Q;
}
void printpoly(polynomial P){
int i, degree;
degree = P.degree;
for(i=0; i<=P.degree; i++)
printf("%3.0fx^%d", P.coef[i], degree--);
printf("\n");
}
void main(){
polynomial A={0,{0,0}};
polynomial B={0,{0,0}};
polynomial C={0,{0,0}};
input1();
input2();
C = mult(input1(),input2());
printf("\n A(x)=");
printpoly(A);
printf("\n B(x)=");
printpoly(B);
printf("\n C(x)=");
printpoly(C);
}
다항식의 곱셈 연산 하는 코드인데요 뭐가 잘못됐는지
작동이 중지 되었습니다라고 뜨네요 씨언어 다 못배우고 과제하려니 너무 힘드네요 도와주세요
인터넷에 있는 코드는 미리 지수 계수 집어 넣고 연산하고 연산하는 거고 사용자가 입력해서 연산하도록 하는 부분만 따로 떼어내서 제가 했는데
잘 몰라서 너무 힘들어요 ㅠ
댓글 0