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

Đề tài: Viết 1 class xử lý đa thức

  1. #1
    Ngày gia nhập
    12 2007
    Bài viết
    54

    Wink Viết 1 class xử lý đa thức

    PHP Code:
    // viet 1 lop da thuc
    # include<iostream.h>
    # include<stdio.h>
    class da_thuc
     
    {
                private:
                    
    float *giatri;
                    
    int sptu;
                public:
                    
    da_thuc();
                    ~
    da_thuc();
                    
    void in();
                    
    void cong(da_thuc a,da_thuc b);
     };
    da_thuc::da_thuc()
     {          
    cout<<"Nhap so phan tu:";
                    
    cin>>sptu;
                    for(
    int i=0;i<sptu;i++)
                        {
                            
    printf("Nhap phan tu thu A[%d]\n",i);
                            
    scanf("%d",giatri[i]);

                        }
     }
    da_thuc::~da_thuc()
     {          
    delete giatri;

     }
    void da_thuc::in()
     {          for(
    int i=0;i<sptu;i++)
                     { 
    printf("%4d X^%d",giatri[i],i);
                          if(
    i<sptu)
                             
    printf("+");
                     }
      }
    void da_thuc::cong(da_thuc a,da_thuc b)
      {        if(
    a.sptu>b.sptu)
                        
    sptu=a.sptu;
                  else
                        
    sptu=b.sptu;
                  for(
    int i=0;i<sptu;i++)
                      
    giatri[i]=a.giatri[i]+b.giatri[i];
      }
    void main()
     {    
    da_thuc p,q;
            
    p.in();
            
    q.in();
            
    p.cong(p,q);
            
    p.in();

     } 
    Mong người sửa bài mình với .Thanks
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Cậu thangit, tui thành thật khuyên cậu coi lại các post mà zkday và tui đã sữa cho cậu. Vì lần này tui sẽ không sữa cho cậu nữa ! Cậu cứ viết cho đã rồi nhờ người ta sữa dùm là sao ? Cậu phải đọc bài sữa, coi lại lý thuyết rồi rút kinh nghiệm thì cậu mới tiến bộ chứ !
    - Không có cấp phát động với new mà delete cái gì ?
    - Thiếu const cho 1 số hàm
    - Không có iostream.h !!!! , void main()
    - Dùng cin, cout rồi còn scanf, printf là sao ?

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

    Em xin lỗi đúng là bài này em quên ko xin cấp phát bộ nhớ .
    Thiếu const cho 1 số hàm
    sử dụng const cho hàm thì có tác dụng gì vậy anh
    Không có iostream.h !!!! , void main()
    Em ko hiểu cái này
    Thực sự em mới bắt đầu học cái này , nên đang còn nhiều chỗ ko hiểu .Mong các anh giải thích giúp em .
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

  4. #4
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Bây giờ bên tui đã 12h30, mai tui có midterm Physics, nên tui không thể giải thích nhiều cho cậu được, cuối tuần này nếu được tui sẽ chỉ cho cậu thêm :
    - const bỏ vào để nói lên rằng trong hàm đó ta không hề dùng phép gán cho private data. Như vậy khi debug ta biết chắc rằng ta không hề đụng chạm gì đến dữ liệu đó.
    - Standard C++ không có iostream.h và void main(), cái compiler mà cậu đang dùng đã outdated rồi. Vì chỉ "1 số" các compiler chấp nhận cái kiểu cậu viết như trên. Cậu biết "portable principle" chứ ? Cậu viết code cậu muốn nó chạy mọi nơi hay chỉ cho 1 compiler ?
    Tập dùng
    C++ Code:
    1. #include <iostream>
    2.  
    3. int main()
    4. {
    5.       ....
    6.       return 0;
    7. }

  5. #5
    Ngày gia nhập
    12 2007
    Bài viết
    54

    Anh ơi cho em hỏi tại sao em test với n=5 thì chương trình tính tổng của 2 đa thức lại sai
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

  6. #6
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Mặc định Viết 1 class xử lý đa thức

    da_thuc::da_thuc()
    { cout<<"Nhap so phan tu:";
    cin>>sptu;
    for(int i=0;i<sptu;i++)
    {
    printf("Nhap phan tu thu A[%d]\n",i);
    scanf("%d",giatri[i]);

    }
    }
    Sao lại vừa scanf vừa cin, vừa printf vừa cout ?
    Code sai nhiều quá, tự viết lại , sữa luôn cái chỗ cấp phát động rồi post lên đây !

  7. #7
    Ngày gia nhập
    12 2007
    Bài viết
    54

    // viet 1 lop da thuc
    # include<iostream.h>
    # include<stdio.h>
    class da_thuc
    {
    private:
    float *giatri;
    int sptu;
    public:
    da_thuc();
    ~da_thuc();
    void in();
    void cong(da_thuc a,da_thuc b);
    };
    da_thuc::da_thuc()
    { cout<<"Nhap so phan tu:";
    cin>>sptu;
    giatri=new float [sptu];
    for(int i=0;i<sptu;i++)
    {
    cout<<"phan tu thu A["<<i<<"]:"<<endl;
    cin>>giatri[i];
    }
    }
    da_thuc::~da_thuc()
    { delete giatri;

    }
    void da_thuc::in()
    { for(int i=0;i<sptu;i++)
    { cout<<giatri[i]<<"X^"<<i;
    if(i<sptu-1)
    cout<<"+";
    }
    }
    void da_thuc::cong(da_thuc a,da_thuc b)
    { if(a.sptu>b.sptu)
    sptu=a.sptu;
    else
    sptu=b.sptu;
    for(int i=0;i<sptu;i++)
    giatri[i]=a.giatri[i]+b.giatri[i];
    }
    void main()
    { da_thuc p,q;
    cout<<endl;
    p.in();
    cout<<endl;
    q.in();
    cout<<endl;
    p.cong(p,q);
    cout<<"tong 2 da thuc:";
    p.in();

    }
    Anh ơi em fix lại rồi đây , code của em làm sao mà lại ko thể tính được tổng 2 đa thức khi n>=4 ???
    Anh giải thích giúp em với
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

  8. #8
    Ngày gia nhập
    04 2008
    Bài viết
    336

    vì phương thức cộng dùng sai chứ sao, làm theo cách của bạn phải dùng 1 da_thuc ketqua để lưu
    mà ai lại yêu cầu user nhập trong constructor thế kia -_-'
    code ra gió bão

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

    Mình xin có ý kiến
    bạn đã vi phạm phong cách lập trình chuẩn
    đặt tên biến không rõ ràng lần sau post bài nhớ đặt tên biến cho rõ ràng nhé

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

  1. Cách viết class Đa Thức trong C# ( Cộng , Trừ 2 đa thức )?
    Gửi bởi vuonghao77 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 12-08-2013, 08:07 PM
  2. Viết code trên Form và viết code trong class có gì khác nhau.
    Gửi bởi hocCsharp trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 21
    Bài viết cuối: 21-01-2011, 10:37 PM
  3. Cây nhị phân viết bằng C++ sử dụng class không chạy được.
    Gửi bởi banhbeo trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 18-03-2010, 07:17 PM
  4. học cách viết class !
    Gửi bởi calme1202 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 8
    Bài viết cuối: 03-06-2008, 06:55 AM
  5. Class Phân số viết bằng C++
    Gửi bởi soda_chanhmuoi trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 12
    Bài viết cuối: 23-05-2007, 12:15 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