Code tìm ra dòng có tổng lớn nhất trong mảng 2 chiều bị sai kết quả

#include <iostream>
#include<conio.h>
#include<math.h>

using namespace std;
void Nhapmang(int a[][100], int  &d, int  &c)
{
        for (int i=0;i<d;i++)
            for (int j=0;j<c;j++)
               {
                cout << "a["<<i<<"]["<<j<<"] = ";
                cin >> a[i][j];
               }

}
void Xuatmang(int a[][100], int  d, int c)
{
        cout << " Mang vua nhap la "<<endl;
        for (int i=0;i<d;i++)
        {
            for (int j=0;j<c;j++)
                cout <<a[i][j]<<"\t";
                cout <<"\n";
        }
int Tongdong(int a[][100], int d, int c)
{
    for (int i=0;i<d;i++)
    {
        int dong=0;
            for (int j=0;j<c;j++)
                dong=dong+a[i][j];
            cout << "\nTong dong " <<i+1<<" = "<<dong<<endl;
    }
}

void dongcotonglonnhat(int a[100][100], int d, int c)
{
    int max,s=0;
    int dong=0;
        for (int i=0;i<d;i++)
        {
            for (int j=0;j<c;j++)
                s+=a[i][j];
                max=s;
                break;

        }

        for (int i=0;i<d;i++)
            {
            for (int j=0;j<c;j++)

                s+=a[i][j];
                if (max<s)
                {
                    max=s;
                    dong=i;
                }
            }
        cout << " Dong co tong lon nhat " << dong << endl;
}

int main()
{
    int a[100][100];
    int d,c;
        cout << " Nhap dong ";
        cin >> d;
        cout << " Nhap cot ";
        cin>> c;
        cout << " Nhap ma tran \n";
    Nhapmang(a, d, c);
    Xuatmang(a, d, c);
    dongcotonglonnhat(a, d, c);

return 0;
}

Đây là code của em. Chạy được nhưng ra sai kết quả ạ. Mong mọi người góp ý, mình mới học code ạ

Thêm s = 0; trước mỗi dòng for có xài s trong hàm dongcotonglonnhat(). :slight_smile:

3 Likes

Dạ cho e hỏi tại sao lại thêm s=0; trước mỗi dòng for vậy ạ ?

Vậy nhường bạn tự trả lời trước. :smiley:

3 Likes

E tưởng int s=0; ở khúc đầu rồi thì không cần ở khúc sau nữa chứ

Loop đầu tiên dùng s thì sẽ không có điều gì xảy ra.

Nhưng từ loop thứ hai trở đi s nó cứ += mà không được reset thì điều gì sẽ xảy ra. :smiley:

3 Likes

À e hiểu ra rồi. E cảm ơn ạ

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?