Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    giúp mình xem sai chỗ nào với

    mình làm bài đọc xâu từ file và in ra file kết quả phép nhân 2 số nguyên lớn
    Mã:
    #include <iostream>
    #include <string.h>
    using namespace std;
    string a,b;
    int c[100];
    int main()
    {
        freopen("add.INP","r",stdin);
        freopen("add.OUT","w",stdout);
        cin>>a>>b;
        int l,count=0,s,i,j,d=-1;
        l=a.length()+b.length()-1;
        for(i=0;i<b.length()-1;i++) a="0" + a;
        for(i=0;i<a.length()-1;i++) b="0" + b;  
        for(i=l-1;i>=0;--i)
        {
          s=0;
          for(j=l-1;j>=i;j--) s+= (b[j]-48)*(a[i+l-1-j]-48) ; dòng này sai ở đâu vậy ?
          c[++d]=(s+count)%10;
          count=(s+count)/10;
        }
        if(count>0)  c[++d]=count; dòng này count = 0 vẫn thực hiện lệnh c[++d]=count; ?
        for(i=d;i>=0;--i)  cout<<c[i];
        return 0;
    }
    - - - Nội dung đã được cập nhật ngày 18-06-2014 lúc 10:09 PM - - -

    ai biết chỉ mình với ! cám ơn nhiều

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cứ dùng char* cho gọn [IMG]images/smilies/biggrin.png[/IMG]
    p/s: Nói thật không hiểu bạn nhân kiểu gì mà ko thấy tích riêng đâu thì sao mà đúng *facepalm*

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi prog10
    Cứ dùng char* cho gọn [IMG]images/smilies/biggrin.png[/IMG]
    p/s: Nói thật không hiểu bạn nhân kiểu gì mà ko thấy tích riêng đâu thì sao mà đúng *facepalm*
    hì tại thầy bảo dùng kiểu string ý tưởng mình
    01234
    00011
    -----
    01234
    1234
    -----
    13574

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •