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

Đề tài: Cộng Hai Số Rất Lớn Băng Danh Sách Liên Kêt

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    2

    Mặc định Cộng Hai Số Rất Lớn Băng Danh Sách Liên Kêt

    //hàm có tác dụng cộng hai số lớn bằng danh sách liên kết

    PHP Code:
    void Sum(number anumber b){
        
    datatype s,temp 0;// temp luu gia tri nho mac dinh du 0
        
    number sum;// cau truc number la cau truc mot node gom phead va   ptail
        
    init_number(sum);//gan mat dinh cho so
        
    while(a.ptail!= NULL || b.ptail != NULL)//dung khi ca hai null moi du
        
    {
             
    // phan xu li cong va so du
             
    a.ptail->info b.ptail->info temp;
             if(
    <= 9){// chi mot chu so 
                 
    sum.ptail->info s;
                 
    temp=0;
             }
            else{
                
    sum.ptail->info s%10;
                
    temp 1;// nho phan du 
            
    }
            
    // phan xu li chay het danh sach
            
    a.ptaila.ptail->prev;
            
    b.ptailb.ptail->prev;
            while(
    a.ptail!= NULL || b.ptail != NULL){
                    if(
    a.ptail == NULL)// mot trong hai so toi null truoc thi chen tiep 0
                        
    insert(a,0,'f');
                    else if(
    b.ptail == NULL)
                        
    insert(b,0,'f');
            }
        } 
    không hiểu sao em chay la nó bi đứng nhờ mấy anh coi dum em thank nhìu
    Đã được chỉnh sửa lần cuối bởi phuong_123 : 21-03-2009 lúc 06:36 PM. Lý do: sai

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

    Sao lại post câu hỏi vào box này, mà bạn đưa một mẩu code lên thế kia thì biết sai ở đâu và test thử thế nào.

    Mà:
    C Code:
    1. while(a.ptail!= NULL || b.ptail != NULL){
    2.                 if(a.ptail == NULL)// mot trong hai so toi null truoc thi chen tiep 0
    3.                     insert(a,0,'f');
    4.                 else if(b.ptail == NULL)
    5.                     insert(b,0,'f');
    6.         }
    đoạn đó điều kiện while sai òi, 1 trong 2 khác NULL đâu có nghĩa là 1 trong 2 bằng NULL, treo vòng lặp tại đây rồi.

  3. #3
    Ngày gia nhập
    11 2008
    Bài viết
    2

    C Code:
    1. void Plus(NodeList &pList,NodeList p1,NodeList p2)
    2. {   int s,temp=0;
    3.     printf("\n\t");
    4.     ShowList(p1);
    5.     printf("\n+\n");
    6.     ShowList(p2);
    7.     printf("\n=\n");
    8.     Nodeptr pT1=p1.pTail,pT2=p2.pTail;
    9.  
    10.     while(pT1!=NULL&&pT2!=NULL)
    11.     {
    12.           s=pT1->info+pT2->info+temp;
    13.           if(s>=10)
    14.           {
    15.             temp=1;
    16.             s=s%10;
    17.             InsertFirst(pList,s);
    18.           }
    19.           else
    20.           {
    21.             InsertFirst(pList,s);
    22.             temp=0;
    23.  
    24.           }
    25.           pT1=pT1->prev;
    26.           pT2=pT2->prev;
    27.     }
    28.     if(pT1==NULL)
    29.             {
    30.                 while(pT2!=NULL)
    31.                 {
    32.                     s=pT2->info+temp;
    33.                     if(s==10)
    34.                     {
    35.                         InsertFirst(pList,s%10);
    36.                         temp=1;
    37.                     }
    38.                     else
    39.                     {
    40.                         InsertFirst(pList,s);
    41.                         temp=0;
    42.                     }
    43.                     pT2=pT2->prev;
    44.                 }
    45.             }
    46.          if(pT2==NULL)
    47.             {
    48.                 while(pT1!=NULL)
    49.                     {
    50.                     s=pT1->info+temp;
    51.                     if(s==10)
    52.                     {
    53.                         InsertFirst(pList,s%10);
    54.                         temp=1;
    55.                     }
    56.                     else
    57.                     {
    58.                         InsertFirst(pList,s);
    59.                         temp=0;
    60.                     }
    61.                     pT1=pT1->prev;
    62.                     }
    63.             }
    64.     if(pT1==NULL&&pT2==NULL&&temp==1)
    65.         InsertFirst(pList,1);
    66. }

    Bỏ code vào tag code bạn nhé . Siêu gà zkday
    Đã được chỉnh sửa lần cuối bởi zkday2686 : 23-03-2009 lúc 01:57 AM.

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

    Bạn từ từ suy nghĩ về code này nhé, đây chỉ cho công 2 số nguyên không âm thôi , còn trường hợp cộng có số âm nữa

  5. #5
    Ngày gia nhập
    01 2009
    Bài viết
    165

    Cái này không cần phải phức tạp như vậy đâu.Ý tưởng giải thuật là đưa 2 số rất lớn ( khoảng 200-300 chữ số )về dạng chuỗi rồi tính toán bình thường .

  6. #6
    Ngày gia nhập
    03 2009
    Bài viết
    11

    Mặc định Cộng Hai Số Rất Lớn Băng Danh Sách Liên Kêt

    sẵng đây chỉ em lun bài nhân hai số nguyên lớn trong dslk đôi lun đi mấy pro, bài nhân nghĩ mãi mà hok ra được thuật toán

  7. #7
    Ngày gia nhập
    03 2009
    Bài viết
    2

    thank mấy bạn nhiều mình làm được rùi

  8. #8
    Ngày gia nhập
    03 2009
    Bài viết
    5

    Minh dang can code bai Cong hai so lon, mong cac ban up len dum minh nha

  9. #9
    Ngày gia nhập
    04 2010
    Nơi ở
    Ha Noi
    Bài viết
    5

    Trích dẫn Nguyên bản được gửi bởi phuong_123 Xem bài viết
    thank mấy bạn nhiều mình làm được rùi
    Bạn ơi! lam` được rôi` thi` up lên cho mọi người coi với được không? Có nhiêu` ngươi` như mình chăng hạn không lam` được rất muốn được tham khảo. bạn ha!
    tieungaogiangho

  10. #10
    Ngày gia nhập
    10 2009
    Bài viết
    2

    Mình code đoạn code này bằng cách sử dụng mảng, xem thử xem, chương trình chưa cộng được số âm!

    PHP Code:
    #include "stdio.h"
    #include "conio.h"
    #include "string.h"
    #define max 255

    void main()
    {
        
    char aa[max]; int na 0;
        
    char bb[max]; int nb 0;
        
    int n 0;

        
    int soa[max], sob[max];
        
    int kq[max 1];

        
    //nhap a, b
        
    printf ("Nhap so a = ");
        
    scanf ("%s", &aa);

        
    printf ("\nNhap so b = ");
        
    scanf ("%s", &bb);

        
    //do dai chuoi
        
    na strlen(aa);
        
    nb strlen(bb);


        
    //dao chuoi
        
    strcpy(aastrrev(aa));
        
    strcpy(bbstrrev(bb));


        
    //so sanh na va nb va tim do dai lon nhat
        
    if (na nb)
        {
            
    na;
            for (
    int i nbna++)
                
    bb[i] = '0';    //gan ky tu '0' cho các phan tu con trong
        
    }
        else
        {
            
    nb;
            for (
    int i nanb++)
                
    aa[i] = '0';    //gan ky tu '0' cho các phan tu con trong
        
    }


        
    int c 0;

        
    //cong
        
    for ( int i 0<= ni++)
        {
            if (
    aa[i] - 48 bb[i] - 48 >= 10)
            {
                
                
    kq[i] = aa[i] - 48 bb[i] - 48 -10 c;
                
    c=1;
            }
            else
            {
                
    kq[i] = aa[i] -48 bb[i] - 48 c;
                
    c=0;

                if (
    kq[i] == 10)
                {
                    
    kq[i] = 0;
                    
    1;
                }
            }
        }

        if (
    == 1)
            
    kq[n] = 1;
        else
            
    kq[n] = 0;


        
    printf ("\nKet qua: ");

        
    //dao chuoi ket qua
        
    for (int i n> -1i--)
        {
            
    printf ("%d"kq[i]);
        }
        

        
    getch();


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

  1. Cấu trúc dữ liệu sử dụng danh sach liên kêt. in ra kết quả sai.
    Gửi bởi vanminhcit trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 1
    Bài viết cuối: 27-10-2012, 10:40 PM
  2. Mã nguồn C Lỗi Quản lý hợp đồng danh sách liên kêt (lỗi không tính tổng được)
    Gửi bởi trung888 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: 31-05-2012, 08:45 AM
  3. Lê Nhã Băng đạt danh hiệu Hoa Khôi Người Đẹp Toả Sáng 2012
    Gửi bởi qctructuyen03 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 12-02-2012, 10:41 PM
  4. Bài tập C Làm sao để nhập dữ liệu từ file vào danh sách liên kêt đơn.
    Gửi bởi kyner trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 04-11-2011, 03:27 PM
  5. Nhập và xuất danh sách liên kết lồng danh sách liên kết?
    Gửi bởi nvluong_it trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 22-04-2011, 11:30 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