Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Đoạn code tìm hàng có tổng max trong ma trận chạy không đúng, sửa thế nào??

  1. #1
    Ngày gia nhập
    11 2008
    Nơi ở
    Hà Nội
    Bài viết
    70

    Mặc định Đoạn code tìm hàng có tổng max trong ma trận chạy không đúng, sửa thế nào??

    Mọi người xem giúp hộ em với, em đoán sai ở thuật toán chỗ so sánh tổng nhưng chưa biết cách sửa:
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. int A[100][100],m,n;
    4. void nhap_ma_tran()
    5. {
    6.     printf("\n Nhap so dong:");
    7.     scanf("%d",&m);
    8.     printf("\n Nhap so cot:");
    9.     scanf("%d",&n);
    10.     for(int i=0;i<m;i++)
    11.     {
    12.         for(int j=0;j<n;j++)
    13.         {
    14.             printf("Nhap A[%d][%d]=",i,j);
    15.             scanf("%d",&A[i][j]);
    16.         }
    17.     }
    18. }
    19. void xuat_ma_tran()
    20. {
    21.     printf("\n ma tran la: \n");
    22.     for(int i=0;i<m;i++)
    23.     {
    24.         for(int j=0;j<n;j++)
    25.         {
    26.             printf("%3d",A[i][j]);
    27.         }
    28.         printf("\n");
    29.     }
    30. }
    31. void tong_cua_hang()
    32. {
    33.     int tong=0,max=0;
    34.     for(int i=0;i<m;i++)
    35.     {
    36.         tong=A[i][0];
    37.         for(int j=0;j<n;j++)
    38.             if(A[i][j]!=A[i][0])
    39.             {
    40.               tong +=A[i][j];
    41.               max=tong;
    42.             }
    43.     printf("\n Tong cua hang %d la: %d \n",i+1,tong);
    44.     }
    45.     for(i=0;i<m;i++)
    46.     {
    47.         for(int j=0;j<n;j++)
    48.             if(tong>max)
    49.             max=tong;
    50.     }
    51.     printf("\n Tong cua hang %d lon nhat",i+1);
    52. }
    53. void main()
    54. {
    55.     clrscr();
    56.     int i,j;
    57.     nhap_ma_tran();
    58.     xuat_ma_tran();
    59.     tong_cua_hang();
    60.     getch();
    61. }
    Dân thường sống đẹp đè bẹp dân chơi.
    Hi [you]

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

    Bỏ câu if(A[i][j]!=A[i][0]) trong hàm tong đi vì có nó là sai hết đấy
    C++ Code:
    1. void tong_cua_hang()
    2. {
    3.     int tong=0,max=0,i,vmax=0;
    4.     for(i=0;i<m;i++)
    5.     {
    6.         tong=0;
    7.         for(int j=0;j<n;j++)
    8.             tong +=A[i][j];
    9.         if(tong>max&&i!=0)
    10.         {
    11.             max=tong;
    12.             vmax=i;
    13.         }
    14.         else if(i==0)
    15.         {
    16.             max=tong;
    17.             vmax=0;
    18.         }
    19.  
    20.         printf("\n Tong cua hang %d la: %d \n",i+1,tong);
    21.     }
    22.     printf("\n Tong cua hang %d lon nhat",vmax+1);
    23. }
    Đã được chỉnh sửa lần cuối bởi 6220119 : 08-12-2008 lúc 09:27 PM.
    code ra gió bão

  3. #3
    Ngày gia nhập
    11 2008
    Nơi ở
    Hà Nội
    Bài viết
    70

    Nhưng anh 622 ơi, nếu em bỏ câu đó đi thì tổng sẽ cộng 2 lần giá trị đầu tiên.
    VD: hàng 1 của em là: 1 2 3 thì tổng hàng 1 là 7.
    Dân thường sống đẹp đè bẹp dân chơi.
    Hi [you]

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

    ẹc mình quên đoạn đó xem ko kỹ mới vào thì gán = 0 chứ sao = A[i][0];
    code ra gió bão

  5. #5
    Ngày gia nhập
    11 2008
    Nơi ở
    Hà Nội
    Bài viết
    70

    Hay quá, dựa vào bài này em rút ra 1 điều muốn xét từng hàng thì phải có { giữa for của i và for của j và phải gán lại cho tổng, không biết có đúng không anh 622 nhỉ???
    Dân thường sống đẹp đè bẹp dân chơi.
    Hi [you]

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

    Mặc định Đoạn code tìm hàng có tổng max trong ma trận chạy không đúng, sửa thế nào??

    ... mình làm cách đó cho nhanh thôi, chứ cậu cứ làm sao cho dễ hiểu là được
    dấu { vì có nhiều hơn 1 lệnh nên xài dấu ngoặc thôi...
    Keep it simple !
    code ra gió bão

  7. #7
    Ngày gia nhập
    07 2011
    Bài viết
    3

    Mặc định ko hiều

    cần ghi rỏ đề mình sẽ giúp nhìn code mù =))

  8. #8
    Ngày gia nhập
    01 2010
    Nơi ở
    Hà Nội
    Bài viết
    128

    Đề này rất cơ bản thôi mà
    Ý tưởng thế này nhé :
    +max=tong(hàng 1);sohieu=1;i=1// bắt đầu từ hàng 1
    +duyet hang i+1 tính tổng s và so sánh tổng với max
    if(max<s) { max=s; sohieu=i;}
    + làm khi nào i=n-1 thì dưng và in ra max,sohieu

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

    Mặc định Help me matran!!!!!!!!!!!!

    mọi người giúp mình bai tập này với :
    -viet chuong trinh thực hiện các công việc sau. mỗi công việc hãy viết dưới dạng một chường trình con :
    + nhập vào từ bàn phím hai số tự nhiên M,N .nhập vào ma trận các số nguyên kích thước M*N.
    + tính tổng các số lớn nhất của các hàng của ma trận
    + sắp xếp ma trận theo chiều tăng dần như hình vẽ ( hình mình chưa upload dc) bằng phương pháp lựa chọn?
    + nhập vào từ bàn phím số nguyên k .tìm xem k có xuất hiện trong ma trận hay không .nếu có thì ở những vị trí nào?
    hết!!!!.các bạn giúp mình với mình ko biết viết chuơng trinh con ntn .?

  10. #10
    Ngày gia nhập
    01 2010
    Nơi ở
    Hà Nội
    Bài viết
    128

    Ví dụ chương trình con :
    C Code:
    1. #include<conio.h>
    2. #include<stdio.h>
    3. //Viết chương trình con display (): kiểu trả về void
    4. void display()
    5.  {
    6.      printf("Welcome to congdongcviet.com");
    7.  }
    8. int main()
    9.  {
    10.      display();// Lời gọi chương trình con trong hàm main()
    11. return 0;
    12.  }
    Bạn xem lại sách giáo trình để tìm hiểu thêm
    Còn cách nữa bạn có thể viết 1 file header riêng sau đó include

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

  1. Code red black tree trong c++ chạy không đúng?
    Gửi bởi squall_ttthp trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 3
    Bài viết cuối: 03-05-2013, 04:33 PM
  2. compiler Warning: Unreachable code và chạy sai trong khi code đúng. Vì sao?
    Gửi bởi lovemoney trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 19
    Bài viết cuối: 19-01-2012, 10:02 PM
  3. Code đếm khoảng trắng chạy lỗi kiểm tra không ra đúng kết quả?
    Gửi bởi higushima trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 3
    Bài viết cuối: 27-11-2011, 08:15 PM
  4. Bài tập C++ code tính cực đại, cực tiểu trong ma trận. sai chỗ nào mà không chạy được
    Gửi bởi bobobo trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 31-10-2010, 02:26 PM
  5. Code kiểm tra dãy cấp số cộng bằng C. Kiểm tra giúp mình xem chạy đúng không?
    Gửi bởi rong3sao trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 7
    Bài viết cuối: 11-04-2009, 09:25 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