Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Các thao tác trên Đa thức | Cộng trừ nhân chia da thức

  1. #1
    Ngày gia nhập
    10 2006
    Nơi ở
    Hà Nội
    Bài viết
    146

    Cool Các thao tác trên Đa thức | Cộng trừ nhân chia da thức

    Đây là code của chương trình các thao tác trên Đa thức:
    Code:
    #include<stdio.h>
    #include<math.h>
    #include<iostream.h>
    #include<conio.h>
    #include<stdlib.h>
    #define max 20
    float A[max],B[max],E[max];int n,m;
    //void Xem(float *C,int n1);
    class DATHUC {
    	public :
    		void Nhap (float *C,int n1);
    		void Xem  (float *C,int n1);
    		float TinhGT (float *C,int n1,float x);
    		void Tong (float *H,float *C,int n,float *D,int m);
    		void Hieu (float *H,float *C,int n,float *D,int m);
    		void Tich (float *E,float *A,int n,float *B,int m);
    		void Daoham1 (float *C,int n1);
    
    };
    DATHUC d;
    //2.Ham Nhap Du lieu
    void DATHUC :: Nhap(float *C,int n1)
          {
           int i;float t;FILE *f;
           f=fopen("input.txt","w");
           for(i=0;i<=n1;i++)
           {
               printf("a[%d]=",i);
    	   scanf("%f",&t);
    	   C[i]=t;
    	   fprintf(f,"%f",C[i]);
           }
           fclose(f);
           d.Xem(C,n1);
          }
    //3.Ham xem du lieu tren File
    void DATHUC:: Xem(float *C,int n1)
         {
    	 cout<<"\n Bac da thuc : "<<n1;
    	 int i;
    	 cout<<"\n";
    	 for(i=0;i<n1;i++)
    	  {
    	    cout<<"    "<<C[i]<<"*X^"<<i<<"  +";
    	  }
              cout<<"  "<<C[n1]<<"*X^"<<n1;
    	  //getch();
         }
    //4.Ham tinh gia tri cua bieu thuc
    float DATHUC :: TinhGT(float *C, int n1,float x)
        {
           int i;float GT=0,ss;
          // cout<<"\n Nhap gia tri cua X : ";cin>>x;
           for(i=0;i<=n1;i++)
           { ss=pow(x,i);
    	 GT=GT+(float)C[i]*ss;
           }
           return (GT);
    
        }
    //5. Ham tinh tong 2 da thuc
    void DATHUC :: Tong(float *H,float *C,int n,float *D, int m)
        {
           int i,k,j;
           if(n>m)
           {
    	  k=n;
    	  for(i=0;i<=m;i++)
    	  {
    	    H[i]=C[i]+D[i];
    	  }
    	  for(i=m+1;i<=n;i++)
    	  H[i]=C[i];
           }
           else
           {
    	  k=m;
    	  for(i=0;i<=n;i++)
    	  {
    	    H[i]=C[i]+D[i];
    	  }
    	  for(i=n+1;i<=m;i++)
    	  H[i]=D[i];
           }
           d.Xem(H,k);
        }
    //6.Hieu 2 da thuc
    void DATHUC :: Hieu(float*H,float *C,int n,float *D, int m)
         {  int k,i,j;
           if(n>m)
           {
    	  k=n;
    	  for(i=0;i<=m;i++)
    	  {
    	    H[i]=C[i]-D[i];
    	  }
    	  for(i=m+1;i<=n;i++)
    	  H[i]=C[i];
           }
           else
           {
    	  k=m;
    	  for(i=0;i<=n;i++)
    	  {
    	    H[i]=C[i]-D[i];
    	  }
    	  for(i=n+1;i<=m;i++)
    	  H[i]=-D[i];
           }
    	d.Xem(H,k);
         }
    //8. tich 2 da thuc
    void DATHUC :: Tich(float *E,float*A, int n,float*B, int m)
         {
    	int i,j,j1,i1,k;
    	k=n+m;
    	for(j1=0;j1<=k;j1++)
    	   {
    	     E[k]=0;
    	   }
    	for(i1=0;i1<=k;i1++)
    	{
    	for(i=0;i<=n;i++)
    	{
    	for(j=0;j<=m;j++)
    	    {
    		if(i+j==i1)
    		 {
    		    E[i1]=E[i1]+A[i]*B[j];
    		  }
    	     }
    	  }
    	  }
    	  d.Xem(E,k);
    
         }
    
    //10. Tinh dao ham cap 1
    void DATHUC :: Daoham1(float*C,int n1)
       {
         int i,j;
         //cout<<"\n Bac cua ket qua : "<<(n1-1);
    
         for(i=1;i<=n1;i++)
         {
           C[i-1]=C[i]*i;
         }
         d.Xem(C,n1-1);
       }
    // Chuong trinh chinh
    void main()
        {  int chucnang;
    
        float x,x1;
    
               textmode(C80);
               textcolor(YELLOW);
               textbackground(BLUE);
               window(1,1,80,25);
           do
           {
          clrscr();
    
    
    
          clrscr();
          cout<<"\n Tap thao tac voi DA THUC";
          cout<<"\n     ---------------------";
          cout<<"\n1. Nhap da thuc A,B";
          cout<<"\n2. Xem da thuc .";
          cout<<"\n3. Tinh Gia tri bieu thuc .";
          cout<<"\n4. Tinh tong hai da thuc .";
          cout<<"\n5. Hieu hai da thuc A - B ";
          cout<<"\n6. Hieu hai da thuc B - A ";
          cout<<"\n7.Tich hai da thuc .";
          cout<<"\n8. Dao ham da thuc  .";
          cout <<"\n0.Tro ve MEMU ch¡nh ";
          //cout<<"\n0. Thoat";
          cout<<"\n Lua chon chuc nang :";
          cin>>chucnang;
          switch(chucnang)
    	 {
    	    case 1:
    	    cout<<"\n Nhap vao bac da thuc A, n= ";cin>>n;d.Nhap(A,n);
                cout<<"\n================================";
    	    cout<<"\n Nhap vao bac da thuc B, m= ";cin>>m;d.Nhap(B,m);  getch();break;
    	    case 2:
    	    cout<<"\n Da thuc A : ";d.Xem(A,n);
    	    cout<<"\n Da thuc B : ";d.Xem(B,m);getch();break;
    	    case 3:
    	    cout<<"\n Nhap gia tri cua x = ";
    	    cin>>x;
    	    float s1=d.TinhGT(A,n,x);
                 cout<<"\n Da thuc A : ";d.Xem(A,n);
    	    cout<<"\n Ket qua A(Xo)="<<s1;
    	    cout<<"\n Nhap gia tri cua x = ";
    	    cin>>x1;
    	    float s2=d.TinhGT(B,m,x1);
                cout<<"\n Da thuc B : ";d.Xem(B,m);
    	    cout<<"\n Ket qua B(Xo)="<<s2;getch();break;
    	    case 4:
                     cout<<"\n Da thuc A : ";d.Xem(A,n);
                     cout<<"\n Da thuc B : ";d.Xem(B,n);
    		 cout<<"\nDa thuc tong:\n==========================" ;
    		 d.Tong(E,A,n,B,m);getch();break;
    	    case 5:
                     cout<<"\n Da thuc A : ";d.Xem(A,n);
                     cout<<"\n Da thuc B : ";d.Xem(B,n);
    		 cout<<"\nDa thuc hieu A-B:\n=========================";
    		 d.Hieu(E,A,n,B,m);getch();break;
    	    case 6:
                     cout<<"\n Da thuc A : ";d.Xem(A,n);
                     cout<<"\n Da thuc B : ";d.Xem(B,n);
    		 cout<<"\nDa thuc hieu B-A:\\========================" ;
    		 d.Hieu(E,B,m,A,n);getch();break;
    	    case 7:
                     cout<<"\n Da thuc A : ";d.Xem(A,n);
                     cout<<"\n Da thuc B : ";d.Xem(B,n);
    		 cout<<"\n Da thuc tich A*B:\n=========================";
    		 d.Tich(E,A,n,B,m);getch();break;
    	    case 8:
                     cout<<"\n Da thuc A : ";d.Xem(A,n);
                     printf("\nDao ham cua Da thuc A");
                     d.Daoham1(A,n);
                     //cout<<"\n Da thuc B : ";d.Xem(B,n);
                     //printf("\nDao ham cua Da thuc B") ;
    		 //d.Daoham1(B,m);
    		 getch();break;
    
    	 }
           }while(chucnang!=0);
    
        }

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    Binh Duong
    Bài viết
    26

    Các pác xem cái này có ích cho các pác không, em sưu tầm trên mạng rồi sài bằng danh sách liên kết đơn đấy

    Code:
    #include<iostream.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<math.h>
    
    struct dathuc
    {
    int heso;
    int somu;
    };
    
    struct dathucnode
    {
    dathuc info;
    dathucnode* link;
    };
    
    //tao mot node
    dathucnode* GetNode(dathuc dt)
    {
    dathucnode* p;
    p=new dathucnode;
    if(p==NULL)
    return NULL;
    
    p->info=dt;
    p->link=NULL;
    return p;
    }
    
    //danh sach
    struct listdathuc
    {
    	dathucnode* pHead;
    	dathucnode* pTail;
    };
    //khoi tao danh sach
    void Initdathuc(listdathuc &ds)
    {
    ds.pHead=NULL;
    ds.pTail=NULL;
    }
    
    //Them mot node
    void ThemnodeTail(listdathuc &ds,dathucnode* newdathuc)
    {
    if(ds.pHead==NULL)
     {
    ds.pHead=newdathuc;
    ds.pTail=ds.pHead;
     }
     else
     {
     ds.pTail->link=newdathuc;
     ds.pTail=newdathuc;
     }
    }
    //Tao danh sach
    
    void Creatdathuc(listdathuc &ds)
    {
    dathucnode* pnew;
    for(int i=1;i<4;i++)
      for(int j=1;j<3;j++)
      {
      dathuc pnewdathuc;
      pnewdathuc.heso=i;
      pnewdathuc.somu=j;
      
      pnew=GetNode(pnewdathuc);
      ThemnodeTail(ds,pnew);
      
      
      
      }
    
    }
    
    //Duyet danh sach da thuc
    void Duyet(listdathuc &dsdathuc)
    {
    	dathucnode* pt;
    	pt=dsdathuc.pHead;
    	while(pt!=NULL)
    	{
    	cout<<pt->info.heso<<"x^"<<pt->info.somu<<"+";
    	pt=pt->link;
    	}
    
    
    }
    
    //Tinh gia tri cua da thuc
    int Giatri(listdathuc &ds,int x)
    {
    int kq;
    dathucnode* p;
    p=ds.pHead;
    while(p)
    {
    kq+=(p->info.heso)*pow(x,(p->info.somu));
    p=p->link;
    
    }
    return kq;
    }
    
    //Tinh dao ham cua da thuc
    void Daoham(listdathuc &ds,listdathuc &dtdaoham)
    {
    dathuc dt;
    dathucnode* p;
    p=ds.pHead;
    while(p)
     {
      if(p->info.somu>1)
      {
      	dt.heso=dt.heso*dt.somu;//(3x^3)'=9x^2
      	dt.somu=(dt.somu)-1;
      	
        p=GetNode(dt);
        ThemnodeTail(dtdaoham,p);
      }
      else if(p->info.somu==1)
      {
        dt.heso=dt.heso;
      	dt.somu=0;
      	p=GetNode(dt);
        ThemnodeTail(dtdaoham,p);
      	
      }
      else if(p->info.somu==0)
      {
        dt.heso=0;
      	dt.somu=0;
      	p=GetNode(dt);
        ThemnodeTail(dtdaoham,p);
      }
      p=p->link;
      }
    }
    //Ham Main
    void main()
    {
    listdathuc ds,dtdaohamcuads;
    Initdathuc(ds);
    Creatdathuc(ds);
    Duyet(ds);cout<<endl;
    cout<<"Gia tri cua da thuc la"<<Giatri(ds,4);cout<<endl;
    Initdathuc(dtdaohamcuads);
    Daoham(ds,dtdaohamcuads);
    Duyet(dtdaohamcuads);cout<<endl;
    cout<<"Gia tri cua da thuc  dao ham la"<<Giatri(dtdaohamcuads,3);cout<<endl;
    }
    Nhưng hình như nó còn lỗi gì đó

  3. #3
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Góp 1 số code trước làm để các bạn tiện tham khảo

    Nhân 2 đa thức
    C++ Code:
    1. /*
    2. Tinh dao ham cho da thuc 1 bien
    3.  -TQH 26102008-
    4. */
    5.  
    6. #include <iostream>
    7. using namespace std;
    8.  
    9. void ScanConst(int *a, int n);
    10. void PrintPoly(int *a, int n);
    11. void MutilPoly();
    12.  
    13. int main()
    14. {
    15.     cout << "        CHUONG TRINH TINH TICH 2 DA THUC" << endl;
    16.     MutilPoly();
    17.     cout<<endl;
    18.     system("pause");
    19. }
    20.  
    21. void ScanConst(int *a,int n)
    22. {
    23.     int i;
    24.     for (i=0;i<n;i++)
    25.     {
    26.         cout << "a"<< i << " = ";cin >> a[i];
    27.     }
    28. }
    29.  
    30. void PrintPoly(int *a,int n)
    31. {
    32.     int i;
    33.     cout << "\n->Polymonical:  \n  f(x) = ";
    34.     for (i=0;i<n-1;i++)
    35.         if (a[i]!=0)
    36.         {
    37.             if (a[i]!=1 && a[i]!=-1) cout << a[i] << "*x^" << n-i-1;
    38.             else if (a[i]==1) cout << "x^" << n-i-1;
    39.             else cout << "-x^" << n-i-1;
    40.             if (a[i+1]>0) cout << "+";
    41.         }
    42.     if (a[n-2] && a[n-1]) cout << a[n-1] << endl;
    43.     else if (!a[n-2]) cout << "+" << a[n-1] << endl;
    44. }
    45.  
    46. void MutilPoly()
    47. {
    48.     int *a,n;
    49.     cout << "\n*  Enter degree polymonical A: ";cin >> n; //Nhap bac cua da thuc
    50.     n++;                                               //bac n thi co n+1 so hang
    51.     a=new int [n];
    52.     if (a==NULL)
    53.     {
    54.         cout << "\nError allocating memory!";
    55.         return;
    56.     }
    57.     ScanConst(a,n);
    58.     PrintPoly(a,n);
    59.  
    60.     int *b,m;
    61.     cout << "\n*  Enter degree polymonical B: ";cin >> m;
    62.     m++;
    63.     b=new int [m];
    64.     if (b==NULL)
    65.     {
    66.         cout << "\nError allocating memory!";
    67.         return;
    68.     }
    69.     ScanConst(b,m);
    70.     PrintPoly(b,m);
    71.  
    72.     int *c;
    73.     c=new int [m+n-1];
    74.     if (c==NULL)
    75.     {
    76.         cout << "\nError allocating memory!";
    77.         return;
    78.     }
    79.     for (int i=0; i<m+n-1; ++i) c[i]=0;
    80.     for (int i=0; i<n; i++)
    81.         for (int j=0; j<m; j++)
    82.             c[i+j]+=a[i]*b[j];
    83.     PrintPoly(c,m+n-1);
    84.     delete[] b;
    85.     delete[] a;
    86. }
    Đạo hàm 1 đa thức
    C++ Code:
    1. /*
    2. Tinh dao ham cho da thuc 1 bien
    3.  -TQH 26102008-
    4. */
    5.  
    6. #include <iostream>
    7. using namespace std;
    8.  
    9. void ScanConst(int *a,int n);
    10. void PrintPoly(int *a,int n);
    11.  
    12. int main()
    13. {
    14.     int n;
    15.     int *a;
    16.     cout << "        CHUONG TRINH TINH DAO HAM DA THUC" << endl;
    17.     cout << "\n*  Enter degree polymonical: ";cin >> n; //Nhap bac cua da thuc
    18.     n++;                                               //bac n thi co n+1 so hang
    19.     a=new int [n];
    20.     if (a==NULL)
    21.     {
    22.         cout << "\nError allocating memory!";
    23.         return 0;
    24.     }
    25.     ScanConst(a,n);
    26.     PrintPoly(a,n);
    27.     int i;
    28.     for (i=0;i<n;i++)
    29.         a[i]*=(n-i-1);
    30.     PrintPoly(a,n-1);
    31.     delete[] a;
    32.     cout<<endl;
    33.     system("pause");
    34. }
    35.  
    36. void ScanConst(int *a,int n)
    37. {
    38.     int i;
    39.     for (i=0;i<n;i++)
    40.     {
    41.         cout << "a"<< i << " = ";cin >> a[i];
    42.     }
    43. }
    44.  
    45. void PrintPoly(int *a,int n)
    46. {
    47.     int i;
    48.     cout << "\n->Polymonical:  \n  f(x) = ";
    49.     for (i=0;i<n-1;++i)
    50.         if (a[i]!=0)
    51.         {
    52.             if (a[i]!=1 && a[i]!=-1) cout << a[i] << "*x^" << n-i-1;
    53.             else if (a[i]==1) cout << "x^" << n-i-1;
    54.             else cout << "-x^" << n-i-1;
    55.             if (a[i+1]>0) cout << "+";
    56.         }
    57.     cout << a[n-1] << endl;
    58. }

  4. #4
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Tính giá trị đa thức
    C++ Code:
    1. /*
    2. Tinh gia tri da thuc bang phuong phap Hoocner - Theo ly thuyet phuong phap tinh
    3.  -TQH 09092008-
    4. */
    5. #include <iostream>
    6. #include <conio.h>
    7. using namespace std;
    8.  
    9. void ScanConst(int *a,int n);
    10. void PrintPoly(int *a,int n);
    11.  
    12. int main()
    13. {
    14.     int n;
    15.     int *a;
    16.     cout << "        CHUONG TRINH TINH GIA TRI DA THUC" << endl;
    17.     cout << "\n*  Enter degree polymonical: ";cin >> n; //Nhap bac cua da thuc
    18.     n++;                                               //bac n thi co n+1 so hang
    19.     a=new int [n];
    20.     if (a==NULL)
    21.     {
    22.         cout << "\nError allocating memory!";
    23.         return 0;
    24.     }
    25.     ScanConst(a,n);
    26.     PrintPoly(a,n);
    27.     float x;
    28.     float p;
    29.     cout << "Enter value x = ";cin >> x;
    30.     p=a[0];
    31.     int i;
    32.     for (i=1;i<n;++i) p=p*x+a[i];
    33.     cout << "\n*  f(" << x <<") = " <<p;
    34.     delete[] a;
    35.     getch();
    36. }
    37.  
    38. void ScanConst(int *a,int n)
    39. {
    40.     int i;
    41.     for (i=0;i<n;i++)
    42.     {
    43.         cout << "a"<< i << " = ";cin >> a[i];
    44.     }
    45. }
    46.  
    47. void PrintPoly(int *a,int n)
    48. {
    49.     int i;
    50.     cout << "\n->Polymonical:  \n  f(x) = ";
    51.     for (i=0;i<n-1;++i)
    52.         if (a[i]!=0)
    53.         {
    54.             if (a[i]!=1 && a[i]!=-1) cout << a[i] << "*x^" << n-i-1;
    55.             else if (a[i]==1) cout << "x^" << n-i-1;
    56.             else cout << "-x^" << n-i-1;
    57.             if (a[i+1]>0) cout << "+";
    58.         }
    59.     cout << a[n-1] << endl;
    60. }

    Chuyển đổi đa thức
    C++ Code:
    1. /*
    2. Phuong phap Hoocner tong quat. Chuyen tu da thuc f(x) thanh f(y) sao cho x=y+c voi c cho truoc - Theo ly thuyet phuong phap tinh
    3.  -TQH 09092008-
    4. */
    5. #include <iostream>
    6. #include <conio.h>
    7. using namespace std;
    8.  
    9. void ScanConst(int *a,int n);
    10. void PrintPoly(int *a,int n);
    11. void PrintPoly(float *a,int n);  //chong ham
    12. float Result(int *a,int n,int c);
    13.  
    14. int main()
    15. {
    16.     int n;
    17.     int *a;
    18.     cout << "        CHUONG TRINH TINH GIA TRI DA THUC" << endl;
    19.     cout << "\n*  Enter degree polymonical: ";cin >> n; //Nhap bac cua da thuc
    20.     n++;                                               //bac n thi co n+1 so hang
    21.     a=new int [n];
    22.     if (a==NULL)
    23.     {
    24.         cout << "\nError allocating memory!";
    25.         return 0;
    26.     }
    27.     ScanConst(a,n);
    28.     PrintPoly(a,n);
    29.     float c;
    30.     cout << "Enter value c = ";cin >> c;
    31.     float *b;
    32.     b=new float [n];
    33.     if (b==NULL)
    34.     {
    35.         cout << "\nError allocating memory!";
    36.         return 0;
    37.     }
    38.     int i;
    39.     for (i=n-1;i>=0;--i) b[i]=Result(a,i+1,c);
    40.     if (c<0) cout << "\nx=y" << c <<endl;
    41.     else cout << "\nx=y+" << c <<endl;
    42.     PrintPoly(b,n);
    43.     //cout << "\n*  f(" << x <<") = " <<Result(a,n,x);
    44.     delete[] b;
    45.     delete[] a;
    46.     getch();
    47. }
    48.  
    49. void ScanConst(int *a,int n)
    50. {
    51.     int i;
    52.     for (i=0;i<n;i++)
    53.     {
    54.         cout << "a"<< i << " = ";cin >> a[i];
    55.     }
    56. }
    57.  
    58. void PrintPoly(int *a,int n)
    59. {
    60.     int i;
    61.     cout << "\n->Polymonical:  \n  f(x) = ";
    62.     for (i=0;i<n-1;++i)
    63.         if (a[i]!=0)
    64.         {
    65.             if (a[i]!=1 && a[i]!=-1) cout << a[i] << "*x^" << n-i-1;
    66.             else if (a[i]==1) cout << "x^" << n-i-1;
    67.             else cout << "-x^" << n-i-1;
    68.             if (a[i+1]>0) cout << "+";
    69.         }
    70.     cout << a[n-1] << endl;
    71. }
    72.  
    73. void PrintPoly(float *a,int n)
    74. {
    75.     int i;
    76.     cout << "\n->Polymonical:  \n  f(y) = ";
    77.     for (i=0;i<n-1;++i)
    78.         if (a[i]!=0)
    79.         {
    80.             if (a[i]!=1 && a[i]!=-1) cout << a[i] << "*y^" << n-i-1;
    81.             else if (a[i]==1) cout << "y^" << n-i-1;
    82.             else cout << "-y^" << n-i-1;
    83.             if (a[i+1]>0) cout << "+";
    84.         }
    85.     cout << a[n-1] << endl;
    86. }
    87.  
    88. float Result(int *a,int n,int c)  //false
    89. {
    90.     float p;
    91.     p=a[0];
    92.     int i;
    93.     for (i=1;i<n;++i) a[i]=a[i-1]*c+a[i];
    94.     p=a[n-1];
    95.     return p;
    96. }

  5. #5
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Tổng giá trị 2 đa thức
    C++ Code:
    1. /*
    2. Tinh gia tri da thuc bang phuong phap Hoocner - Theo ly thuyet phuong phap tinh
    3.  -TQH 09092008-
    4. */
    5. #include <iostream>
    6. #include <conio.h>
    7. using namespace std;
    8.  
    9. void ScanConst(int *a,int n);
    10. void PrintPoly(int *a,int n);
    11. float Result(int *a,int n,float c);
    12.  
    13. int main()
    14. {
    15.     int n;
    16.     int *a;
    17.     cout << "        CHUONG TRINH TINH GIA TRI DA THUC" << endl;
    18.     cout << "\n*  Enter degree polymonical A: ";cin >> n; //Nhap bac cua da thuc
    19.     n++;                                               //bac n thi co n+1 so hang
    20.     a=new int [n];
    21.     if (a==NULL)
    22.     {
    23.         cout << "\nError allocating memory!";
    24.         return 0;
    25.     }
    26.     ScanConst(a,n);
    27.     cout << "\n->Polymonical A:  \n  f(x) = ";
    28.     PrintPoly(a,n);
    29.  
    30.     int *b,m;
    31.     cout << "\n*  Enter degree polymonical B: ";cin >> m; //Nhap bac cua da thuc
    32.     m++;                                               //bac n thi co n+1 so hang
    33.     b=new int [m];
    34.     if (b==NULL)
    35.     {
    36.         cout << "\nError allocating memory!";
    37.         return 0;
    38.     }
    39.     ScanConst(b,m);
    40.     cout << "\n->Polymonical B:  \n  g(x) = ";
    41.     PrintPoly(b,m);
    42.  
    43.     float x,c=Result(a,n,x),d=Result(b,m,x);
    44.     cout << "Enter value c = ";cin >> x;
    45.     cout << "\n* Polymonical A  f(" << x << ") = " << c;
    46.     cout << "\n* Polymonical B  g(" << x << ") = " << d;
    47.     cout << "\n* Result A+B: f(" << x << ") + g(" << x << ") = " << c+d;
    48.     delete[] a;
    49.     getch();
    50. }
    51.  
    52. void ScanConst(int *a,int n)
    53. {
    54.     int i;
    55.     for (i=0;i<n;i++)
    56.     {
    57.         cout << "a"<< i << " = ";cin >> a[i];
    58.     }
    59. }
    60.  
    61. void PrintPoly(int *a,int n)
    62. {
    63.     int i;
    64.     for (i=0;i<n-1;++i)
    65.         if (a[i]!=0)
    66.         {
    67.             if (a[i]!=1 && a[i]!=-1) cout << a[i] << "*x^" << n-i-1;
    68.             else if (a[i]==1) cout << "x^" << n-i-1;
    69.             else cout << "-x^" << n-i-1;
    70.             if (a[i+1]>0) cout << "+";
    71.         }
    72.     cout << a[n-1] << endl;
    73. }
    74.  
    75. float Result(int *a,int n,float c)
    76. {
    77.     float p;
    78.     p=a[0];
    79.     int i;
    80.     for (i=1;i<n;++i) p=p*c+a[i];
    81.     return p;
    82. }

Các đề tài tương tự

  1. Lập trình C Đề tài: mảng và các thao tác trên mảng 2 chiều: tìm kiếm.........
    Gửi bởi quanvovan trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 15-11-2012, 11:13 PM
  2. cấp phát bộ nhớ động cho mảng 2 chiều trên C như thế nào?
    Gửi bởi mat_mot_mua_hoa trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 20-07-2012, 05:39 PM
  3. Chia m phần thưởng cho n người trên C++ như thế nào?
    Gửi bởi doc_bo_hanh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 12-10-2010, 09:18 PM
  4. Tính a mũ n bằng phương pháp chia để trị trên C như thế nào?
    Gửi bởi nhatnha trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 08-08-2010, 08:04 PM
  5. Thao tác trên mảng 2 chiều bằng con trỏ
    Gửi bởi hacker_mubaohiem trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 03-04-2008, 07:06 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn