Advertisement
Guest User

Untitled

a guest
Nov 28th, 2010
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.23 KB | None | 0 0
  1. /* code by yoyolove from FAMILUG - girlxitin.com*/
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5.  
  6. typedef struct pointer
  7.     {
  8.         int info;
  9.         struct pointer *link;
  10.     }dslk;
  11.    
  12. int main()
  13. {
  14.     int b1, b2;
  15.     printf("Nhap bac cua da thuc 1: ");
  16.     scanf("%d",&b1);
  17.     printf("Nhap bac cua da thuc 2: ");
  18.     scanf("%d",&b2);
  19.     printf("\n===============================");
  20.     dslk *p1,*p2,*l1,*l2;
  21.    
  22.     int i;
  23.     // nhap he so cho da thuc 1
  24.     for(i=b1;i>=0;i--)
  25.     {
  26.         p1=(dslk*)malloc(sizeof(dslk));
  27.         printf("\n Nhap he so  cua X^%d trong da thuc 1: ",i);
  28.         scanf("%d",&p1->info);
  29.         if(l1==NULL)
  30.         {
  31.             p1->link=NULL;
  32.             l1=p1;
  33.         }
  34.         else
  35.         {
  36.             p1->link=l1;
  37.             l1=p1;
  38.         }
  39.     }
  40.     //nhap he so cho da thuc 2
  41.     for(i=b2;i>=0;i--)
  42.     {
  43.         p2=(dslk*)malloc(sizeof(dslk));
  44.         printf("\n Nhap he so  cua X^%d trong da thuc 2: ",i);
  45.         scanf("%d",&p2->info);
  46.         if(l2==NULL)
  47.         {
  48.             p2->link=NULL;
  49.             l2=p2;
  50.         }
  51.         else
  52.         {
  53.             p2->link=l2;
  54.             l2=p2;
  55.         }
  56.     }
  57.     //tao dslk tinh tong
  58.     //tao ds rong
  59.     int max, min;
  60.     dslk *p0, *l0;
  61.     max=b1>=b2?b1:b2;
  62.     min=b1<=b2?b1:b2;
  63.     for(i=1;i<=max+1;i++)
  64.     {
  65.         p0=(dslk *)malloc(sizeof(dslk));
  66.         if(l0==NULL)
  67.         {
  68.             p0->link=NULL;
  69.             l0=p0;
  70.         }
  71.         else
  72.         {
  73.             p0->link=l0;
  74.             l0=p0;
  75.         }
  76.     }
  77.    
  78.     //nhap info cho ds tinh tong
  79.    
  80.     if(max==b1)
  81.     {
  82.         for(i=0;i<=max;i++)
  83.         {
  84.              p0->info=p1->info;          
  85.              p0=p0->link;
  86.              p1=p1->link;
  87.         }
  88.     }
  89.     else
  90.     {
  91.         for(i=0;i<=b2;i++)
  92.         {
  93.             p0->info=p2->info;
  94.             p0=p0->link;
  95.             p2=p2->link;
  96.         }
  97.     }
  98.     p2=l2;p1=l1;p0=l0;
  99.  
  100.     for(i=0;i<=min;i++)
  101.     {
  102.         if(max==b1)
  103.         {
  104.             p0->info = p0->info + p2->info;
  105.             p0=p0->link;
  106.             p2=p2->link;
  107.         }
  108.         else
  109.         {
  110.             p0->info = p0->info + p1->info;
  111.             p0=p0->link;
  112.             p1=p1->link;
  113.         }
  114.     }
  115.     p0=l0;
  116.    
  117.     //tao dslk de in ra kq cuoi cung
  118.     dslk *p3, *l3;
  119.     l3=NULL;
  120.     for(i=1;i<=max+1;i++)
  121.     {
  122.         p3=(dslk*)malloc(sizeof(dslk));
  123.         p3->info=p0->info;
  124.         p0=p0->link;
  125.         if(l3==NULL)
  126.         {
  127.             p3->link=NULL;
  128.             l3=p3;
  129.         }
  130.         else
  131.         {
  132.             p3->link=l3;
  133.             l3=p3;
  134.         }
  135.     }
  136.     p3=l3;
  137.     //in kq cuoi cung
  138.     printf("\n===============================");
  139.     printf("\n Da thuc tong: ");
  140.     for(i=max;i>0;i--)
  141.     {
  142.         printf("%2d x X^%d",p3->info, i); printf(" +");
  143.         p3=p3->link;
  144.     }
  145.     printf("%2d",p3->info);
  146.     return 1;
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement