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.

Người bí ẩn viết 01:37 ngày 01/10/2018

Ở 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]

Ky Thoai viết 01:41 ngày 01/10/2018

Cám ơn bạn rất nhiều.

Bài liên quan
0