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

Đề tài: [ Solved ] mảng chứa đa thức

  1. #1
    Ngày gia nhập
    09 2008
    Bài viết
    20

    Mặc định [ Solved ] mảng chứa đa thức

    Còn cái này thì mình test lỗi hoài.Làm mãi chưa xong.Các cậu júp mình sửa code này nha.
    Code:
    	 #include <stdio.h>
    	 #include <conio.h>
    	 #include <stdlib.h>
    	 #define max 100
    	 void main()
    	 {   int n,m;
    		  double t;
    		  double A[100],B[100],C[100],D[100];
    		  printf("\n Ban hay nhap bac cua da thuc1:");
    		  scanf("%d",&n);
    
    		  for (int i=n;i>=0;i--)
    			 { printf("\n Nhap he so cua x^%d=",i);
    				scanf("%lf",&t)   ;
    				A[i]=t;
    			 }
    				printf("\n Da thuc 1 cua ban la:") ;
    
    				for( i=n;i>=0;i--)
    			 {
    				  if (A[i]!=0 )
    				 {   if (A[i]>=0 && i<n)
    					  printf("+");
    					  if (i==0)
    
    					  printf("%.0lf",A[i],i);
    					  else
    					  printf("%.0lfx^%d",A[i],i);
    				  }
    			}
    					  printf("=0\n");
    
    					  printf("\n Ban hay nhap bac cua da thuc 2:");
    					  scanf("%d",&m);
    
    			  for(int j=m;j>=0;j--)
    			  {
    				printf("\n Nhap he so cua x^%d=",j);
    				scanf("%lf",&t);
    				B[j]=t;
    			  }
    				printf("\n Da thuc 2 cua ban la:");
    
    				for( j=m;j>=0;j--)
    			 {
    				  if (B[j]!=0 )
    				 {  if (B[j]>=0 && j<m)
    					 printf("+");
    					  if (j==0)
    					  printf("%.0lf",B[j],j);
    					  else
    					  printf("%.0lfx^%d",B[j],j);
    				 }
    		  }
    					printf("=0\n");
    
    					 int a,b,max;
    					 printf("\nNhap vao da thuc A") ;
    					 scanf("bac cua da thuc A");
    
    					for (i=0;i<=m;i++)
    					{
    						  printf("\n he so cua phan tu bac %d:",i);
    						  scanf("%4d",&t);
    						  A[i]=t;
    					}
    
    					 prinf("\n Nhap vao da thuc B");
    					 scanf ("Bac cua da thuc B");
    
    					 for(j=0;j<=n;j++)
    				{
    					  printf("\nhap so cua phan tu bac %d:",i);
    					  scanf("%4d",&t);
    					  B[i]=t;
    				}
    					 if (m>n)max=m;
    					 else max=n;
    					 for(i=0;i<=max;i++)
    					 C[i]=A[i]+B[i];
    					 printf("\n tong cua 2 da thuc:",i);
    					 scanf("%4d",&t);
    
    					 for(i=0;i<=m+n;i++)
    						  for(j=0;j<=i;j++)
    						 {
    							 if(j<=m)
    								  a=A[j];
    							 else
    								  a=0;
    
    								 if(i-j<=n)
    								  b=B[i-j];
    								 else
    								 b=0;
    								 D[i]+=a*b;
    
    								 printf("\n tich cua 2 da thuc",i);
    								 scanf("%4d",&t);
    
    							}
    
    
    
    		  }

  2. #2
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Bạn compile bằng trình biên dịch nào mà sao không phát hiện ra lỗi?Code viết thế này đọc mờ mắt!Bạn đã học về hàm con chưa?sao không tổ chức thành các hàm ?
    Nhìn sơ qua thì thấy mấy lỗi sau :
    PHP Code:
     scanf("bac cua da thuc A"); 
    hàm scanf sử dụng thế nào hả bạn?
    Đã #define max 100 rồi,sao lại còn đặt tên biến là max trong hàm main
    int a,b,max;
    .Không biết còn lỗi nào nữa không?bạn test lại thử xem
    Cánh Chym ứ mỏi

  3. #3
    Ngày gia nhập
    09 2007
    Bài viết
    724

    1 - sao bạn không chia nhỏ thành hàm mà viết "một cục" đọc hoa hết cả mắt

    2 - bạn "chôm" code của người khác đúng không???? Mình khuyên bạn thật lòng: nếu muốn học code thì phải tự tay mình code chứ đi "chôm" code của người khác thì bao giờ khá hơn được.
    tại sao mình lại nói là bạn "chôm" code????
    C Code:
    1.  scanf ("Bac cua da thuc B");

    Cái hàm scanf mà viết thế này thì pó tay luôn

    ps: Trong forums này nếu bạn làm biếng quá thì pó tay.

  4. #4
    Ngày gia nhập
    09 2007
    Bài viết
    724

    Mình sẽ sửa cho bạn bài này nhưng chỉ phép cộng thôi các phép khác bạn phải tự làm:


    C Code:
    1.  
    2. #include <stdio.h>
    3. #include <conio.h>
    4. #include <stdlib.h>
    5.  
    6. #define max 100
    7.  
    8. void Nhap(double A[], int &n)
    9. {
    10.     printf("\n Ban hay nhap bac cua da thuc:");
    11.     scanf("%d",&n);
    12.    
    13.     for (int i=0; i<n+1; i++)
    14.     {
    15.         double t;
    16.         printf("\n Nhap he so cua x^%d=",i);
    17.         scanf("%lf",&t);
    18.         A[i]=t;
    19.     }
    20. }
    21.  
    22. void Xuat(double A[], int n)
    23. {
    24.     printf("\n Da thuc la:") ;
    25.  
    26.     for(int i=n; i>=0; i--)
    27.     {
    28.         if (A[i]!=0 )
    29.         {
    30.           if (A[i]>=0 && i!=n)
    31.             printf("+");
    32.          
    33.           if (i==0)
    34.                 printf("%.0lf",A[i]);
    35.             else
    36.                 printf("%.0lf x^%d",A[i],i);
    37.         }
    38.     }
    39.     printf("=0\n");
    40. }
    41.  
    42. void Tong(double A[], int nA, double B[], int nB, double Result[])
    43. {
    44.     int minNumber = nA;
    45.     int i;
    46.  
    47.     // lay phan tu min cua nA va nB
    48.     if(minNumber > nB)
    49.         minNumber = nB;
    50.  
    51.     // chay tu phan tu thu min toi 0
    52.     for(i=minNumber; i>-1; i--)
    53.     {
    54.         Result[i] = A[i]+B[i];
    55.     }
    56.  
    57.     if(minNumber < nA) // nếu mà số phần tử của mảng A mà nhiều hơn số phần tử của mảng B thì thêm các phần tử khác vào.
    58.     {
    59.         for(; minNumber < nA; minNumber++)
    60.             Result[minNumber] = A[minNumber];
    61.     }
    62.     else // tuơng tự trường hợp số phần tử của mảng B nhiều hơn số phần tử của mảng A
    63.     {
    64.         for(;minNumber < nB; minNumber++)
    65.             Result[minNumber] = B[minNumber];
    66.     }
    67. }
    68.  
    69.  
    70. void main()
    71. {  
    72.     int nA,nB,nC;
    73.     //double a,b;
    74.  
    75.     double A[max],B[max],C[max];
    76.  
    77.     printf("Nhap vao da thuc thu 1:");
    78.     Nhap(A,nA);
    79.     Xuat(A,nA);
    80.     printf("Nhap vao da thuc thu 2:");
    81.     Nhap(B,nB);
    82.     Xuat(B,nB);
    83.  
    84.     nC = nA;
    85.     if(nC < nB)
    86.         nC = nB;
    87.  
    88.     Tong(A,nA+1,B,nB+1,C);
    89.  
    90.     printf("\n tong cua 2 da thuc");
    91.     Xuat(C,nC);
    92. }

  5. #5
    Ngày gia nhập
    09 2008
    Bài viết
    20

    Cám ơn các cậu nhiều nha!

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

  1. [ Solved ]Xây dựng lớp ĐỒTHI
    Gửi bởi bluesky_123078 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: 09-11-2008, 09:34 AM
  2. [Solved] Hỏi về con trỏ
    Gửi bởi RedHatLinux9 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 17-09-2008, 08:01 AM
  3. [ Solved ]Cấp phát động
    Gửi bởi demontaihack trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 07-09-2008, 08:23 PM
  4. [ Solved ]Cần hướng dẫn về bài tập màng!!
    Gửi bởi itthuyloi 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-06-2008, 03:00 PM
  5. [ Solved ]Sắp xếp hai dãy số
    Gửi bởi thuchanh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 20-04-2008, 11:47 PM

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