Ç®¾î´Þ¶ó´Â°Ô ¾Æ´Ï±¸¿ä...
Çб³¿¡¼ ÀڷᱸÁ¶ °úÁ¦¸¦ ³»ÁÖ¾ú´Âµ¥¿ä
µÎ °³ÀÇ ´ÙÇ×½ÄÀ» µ¡¼ÀÇÏ´Â ÇÁ·Î±×·¥ ¼Ò½ºÀε¥
°úÁ¦´Â µÎ °³ÀÇ ´ÙÇ×½ÄÀ» °ö¼ÀÇÏ´Â ÇÔ¼ö Ãß°¡ÇØ¿À±â ÀÔ´Ï´Ù.
A, B µÎ ´ÙÇ×½ÄÀº ¹Ì¸® ¹è¿ ¾È¿¡ ÃʱâȽÃÄѳù¾î¿ä(scanf·Î ¹Þ´Â°É·Î ¼öÁ¤Çصµ µÈ´Ù°í ÇϽÉ)
Áö±Ý °ÅÀÇ ´Ù ÇØ°áÇسª°¡°í ÀÖ´Â »óȲ¿¡¼ ¹®µæ ±Ã±ÝÁõÀÌ µé´õ¶ó°í¿ä
ÀÌÁ¤µµ °úÁ¦ ¼öÁØÀÌ¸é ¾î´ÀÁ¤µµ ³À̵µÀΰ¡...
³À̵µ°í ¹¹°í °í¹ÎÇÒ °¡Ä¡µµ ¾øÀÌ Ã¥ Çѹø Á¦´ë·Î º» »ç¶÷ÀÌ¸é ±Ý¹æ Â¥³¾ ¼ö ÀÖ´Â ÄÚµåÀÌ´Ù
¶Ç´Â »ý°¢ ÇÑ ¹ø ÇÏ¸é ¶Òµü ÇÒ ¼ö ÀÖ´Â ¹®Á¦
¶Ç´Â »ý°¢À» Á» ÇغÁ¾ß ÇÏ´Â ¹®Á¦
¾Æ¸¶ ù¹ø°ÀÏ °Í °°Àºµ¥...¿ä
Á¦°¡ óÀ½¿¡ Á» ²þ²þ´ë¼ ÀÌ·¸°Ô ±ÛÀ» ¿Ã¤©·Áº½´Ï´Ù......
¾Æ·¡´Â ±³Àç ¿¹½ÃÀÔ´Ï´Ù.
#include <stdio.h>
#define MAX(a, b) ((a>b)?a:b)
#define MAX_DEGREE 50
typedef struct { // ±¸Á¶Ã¼ polynomial Á¤ÀÇ
int degree; // ´ÙÇ×½ÄÀÇ Â÷¼ö¸¦ ÀúÀåÇÒ º¯¼ö
float coef[MAX_DEGREE]; // ´ÙÇ×½ÄÀÇ °¢ Ç×ÀÇ °è¼ö¸¦ ÀúÀåÇÒ 1Â÷¿ø ¹è¿
} 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; // ´ÙÇ×½Ä µ¡¼ÀÀÇ °á°ú ´ÙÇ×½Ä 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()
{
polynomial A={3, {4, 3, 5, 0}};
polynomial B={4, {3, 1, 0, 2, 1}};
polynomial C;
C=addPoly(A, B); // ´ÙÇ×½Ä A, B¿¡ ´ëÇÑ µ¡¼ÀÀ» ¼öÇàÇϱâ À§ÇØ addPoly ÇÔ¼ö È£Ãâ
printf("´ÙÇ×½Ä A, B¿¡ ´ëÇÑ µ¡¼À(A+B)\n");
printf("\n A(x)="); printPoly(A); // ´ÙÇ×½Ä A Ãâ·Â
printf("\n B(x)="); printPoly(B); // ´ÙÇ×½Ä B Ãâ·Â
printf("\n C(x)="); printPoly(C); // ´ÙÇ×½Ä C Ãâ·Â
getchar();
}
Àâ´ã | 2516¸íÀÌ Àоú¾î¿ä. 18.218.156.53