두 다항식을 입력받아 곱을 구하는건데요. 일단 봐주세용 ㅋ
연체리
질문 제목 : 두 다항식 입력받아 곱구하기!!질문 요약 :배열을 입력받는것까지는 했는데 polynomial a= 저부분 중가로 안에다가
입력받은 배열을 전부 집어넣고싶습니다!!질문 내용 :
int one, one_for, two, two_for;
char one_cfct[10]; //첫번째 계수 (coefficient)
char two_cfct[10]; //두번째 계수
printf(첫번째 다항식의 갯수를 입력해주세요);
scanf(%d, &one);
for(one_for=0; one_forone; one_for++)
{
printf(계수를 입력해주세요(%d 중 %d), one, one_for);
scanf(%d, one_cfct[one_for]);
}
polynomial a={one, {one_cfct[one_for]}}; //-이부분에서 문제에요!! 위에서 입력받았던 one_cfct의 변수배열 내용을
//전부 집어넣고 싶은데 안되네요!! 예를들어서 one_cfct[10]={3, 2, 5 ,4}까지 입력받았다면
polynomial a={one, {3, 2, 5, 4}};로 되게 하고싶습니다 부탁드려요 t_t
polynomial b={4, {3,1,0,2,1}};
아래는 소스 전문입니다
//두 다항식을 입력받아 다항식의 곱을 구하는
//multpoly()함수 프로그램을 구현하시오.
#include stdio.h
#define max(a,b) ((ab)?a:b)
#define max_degree 50
typedef struct{
int degree;
float coef[max_degree];
}polynomial;
polynomial addpoly(polynomial a, polynomial b)
{
polynomial c;
int a_index=0, b_index=0, c_index=0;
int a_degree=a.degree, b_degree=b.degree;
c.degree=max(a.degree, b.degree);
while(a_index=a.degree && b_index=b.degree){
if(a_degree b_degree){
c.coef[c_index++] = a.coef[a_index++];
a_degree--;
}
else if(a_degree == b_degree){
c.coef[c_index++] = a.coef[a_index++]+b.coef[b_index++];
a_degree--;
b_degree--;
}
else{
c.coef[c_index++] = b.coef[b_index++];
b_degree--;
}
}
return c;
}
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()
{
int one, one_for, two, two_for;
char one_cfct[10]; //첫번째 계수 (coefficient)
char two_cfct[10]; //두번째 계수
printf(첫번째 다항식의 갯수를 입력해주세요);
scanf(%d, &one);
for(one_for=0; one_forone; one_for++)
{
printf(계수를 입력해주세요(%d 중 %d), one, one_for);
scanf(%d, one_cfct[one_for]);
}
polynomial a={one, {one_cfct[one_for]}};
polynomial b={4, {3,1,0,2,1}};
polynomial c;
c= addpoly(a,b);
printf(\n a(x)=); printpoly(a);
printf(\n b(x)=); printpoly(b);
printf(\n c(x)=); printpoly(c);
getchar();
}