Advertisement
Guest User

CongDaThuc_dsL_FamiHug

a guest
Nov 23rd, 2010
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.25 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. //By FamiHug
  4. typedef struct pcdt
  5.     {
  6.         int info;
  7.         struct pcdt *link;
  8.     }dslk;
  9.  
  10. dslk* dathuc(int,int);
  11. dslk* init_dslk(int);
  12.  
  13. int main()
  14. {
  15.     dslk *p1,*p2,*p0,*l0,*l1,*l2;
  16.     int min=0,max=0,n1=0,n2=0,i=0;
  17.     printf("CHUONG TRINH CONG 2 DA THUC\n");
  18.     printf("===========================\n\n");
  19.     printf("Nhap bac cua da thuc 1: ");
  20.     scanf("%d",&n1);
  21.     printf("Nhap bac cua da thuc 2: ");
  22.     scanf("%d",&n2);
  23.     p1=dathuc(1,n1);//p1 tro den dau dslk1
  24.     p2=dathuc(2,n2);//p2 tro den dau dslk2
  25.     l1=p1;//l1,l2 tro co dinh den dau dslk1,2
  26.     l2=p2;
  27.     max=n1>=n2?n1:n2;//tim xem da thuc nao co bac cao hon
  28.     min=n1<=n2?n1:n2;
  29.    
  30.     p0=init_dslk(max);
  31.     l0=p0;
  32.     p1=l1;
  33.     p2=l2;
  34.  
  35.     //Nhap info cho dslk chua tong
  36.     for(i=1;i<=max+1;i++)
  37.     {
  38.         if(max==n1)
  39.         {
  40.             p0->info=p1->info;
  41.             p0=p0->link;
  42.             p1=p1->link;
  43.         }
  44.         else
  45.         {
  46.             p0->info=p2->info;
  47.             p0=p0->link;
  48.             p2=p2->link;
  49.         }
  50.         }
  51.  
  52.     printf("\n");
  53.     p2=l2;p1=l1;p0=l0;
  54.    
  55.     //Tinh ket qua ghi vao ds p0
  56.     for(i=1;i<=min+1;i++)
  57.     {
  58.         if(max==n1){
  59.         p0->info=p0->info+p2->info;
  60.         p0=p0->link;
  61.         p2=p2->link;
  62.         }
  63.         else{
  64.         p0->info=p0->info+p1->info;
  65.         p0=p0->link;
  66.         p1=p1->link;}
  67.     }
  68.     p0=l0;
  69.  
  70.     //Dao nguoc thu tu roi printf
  71.     dslk *m,*p;
  72.     m=NULL;
  73.     for(i=1;i<=max+1;i++)
  74.     {
  75.         p=(dslk*)malloc(sizeof(dslk));
  76.         p->info=p0->info;
  77.         if(m==NULL)
  78.         {
  79.             p->link=NULL;
  80.             m=p;
  81.         }
  82.         else
  83.         {
  84.             p->link=m;
  85.             m=p;
  86.         }
  87.         p0=p0->link;
  88.     }
  89.     printf("Cac he so cua tong hai da thuc la: ");
  90.     for(i=1;i<=max+1;i++)
  91.     {
  92.         printf("%3d",p->info);
  93.         p=p->link;
  94. }
  95.  
  96.  
  97.     return 1;}
  98.  
  99.  
  100.  
  101. //Function dathuc ->Nhap tu cuoi len dau ds
  102. dslk* dathuc(int c,int n)
  103. {
  104.     dslk *m,*p;
  105.     m=NULL;
  106.     int i;
  107.     for(i=1;i<=n+1;i++)
  108.     {
  109.         p=(dslk*)malloc(sizeof(dslk));
  110.  
  111.         printf("Nhap he so thu %d cua dt%d: ",i,c);
  112.         scanf("%d",&p->info);
  113.         if(m==NULL)
  114.         {
  115.             p->link=NULL;
  116.             m=p;
  117.         }
  118.         else
  119.         {
  120.             p->link=m;
  121.             m=p;
  122.         }
  123.     }
  124.     return p;
  125. }
  126. //Function init_dslk chi tao bien dong, khong gan gia tri
  127. dslk* init_dslk(int n)
  128. {
  129.     dslk *m,*p;
  130.     m=NULL;
  131.     int i;
  132.     for(i=1;i<=n+1;i++)
  133.     {
  134.         p=(dslk*)malloc(sizeof(dslk));
  135.         if(m==NULL)
  136.         {
  137.             p->link=NULL;
  138.             m=p;
  139.         }
  140.         else
  141.         {
  142.             p->link=m;
  143.             m=p;
  144.         }
  145.     }
  146.     return p;
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement