30/09/2018, 23:32
Giá trị trả về -858993444
Chào mọi người, mình mới học C++ và mình có một số thắc mắc mong mọi người trả lời giúp mình với.
đây là code cho hàm tính tổng các phần tử trên biên ma trận
void tongduongbien(int a[][20], int m, int n)
{
int sum = 0;
for (int i = 0; i < m; i++)
{
sum =sum + a[i][0];
sum =sum + a[i][m-1];
}
for (int j = 1; j <= n - 2;j++)
{
sum = sum + a[0][j];
sum = sum + a[n - 1][j];
}
cout << "tong duong bien cua ma tran la: " <<sum<< endl;
}
m = dòng, n = cột
th1: khi em nhập m=2, n=3, sau đó em nhâp 1 -> 6 thì sum = -858993446
th2: còn khi em nhập m=2 , n=2 sau đó em nhập 1->4 thì sum = 10.
Em muốn hỏi lại tại sao th1 sum nó không trả về số vậy hả mọi người, có cách nào sửa đó cho nó trả về số không vậy.
Bài liên quan
Ở vòng lặp thứ 1: Sửa sum = sum + a[i][ m - 1] thành sum = sum + a[¡][ n - 1]
Ở vòng lặp thứ 2: Sửa sum = sum + a[n - 1 ][j] thành sum = sum + a[m - 1][j]
Cám ơn bạn rất nhiều.