01/10/2018, 00:21

[Nhờ sửa lỗi]Lỗi biến đếm trong bài toán ma trận

####Đề bài:

Xây dựng chương trình cho phép nhập vào 1 ma trận số nguyên A kích thước m×n
Tìm và in ra hàng có tổng lớn nhất trong ma trận

####Vấn đề:

Lỗi biến dem trong hàm void hang()

####Source code của em:

#include<stdio.h>
#include<conio.h>
void matran(int *n, int *m,int A[20][20])
{
int i,j;
	printf("
 nhap kich thuoc ma tran");
	printf("
 so hang=");
	scanf("%d",n);
	printf("
 so cot=");
	scanf("%d",m);
	printf("
nhap gia tri cho ma tran");
	for(i=0;i<*n;i++)
	{
		for(j=0;j<*m;j++)
		{
			printf("
 A[%d][%d]=",i,j);
			scanf("%d",&A[i][j]);
		}
	}
	printf("
 ma tran vua nhap la");
	for(i=0;i<*n;i++)
	{
		printf("
");
		for(j=0;j<*m;j++)
		{
			printf("%5d",A[i][j]);
		}
	}
}

void max(int n,int m,int A[20][20],int tong[20])
{
int i,j,max=0,dem=1;
	for(i=0;i<n;i++)
	{
		tong[i]=0;
		for(j=0;j<m;j++)
		{
		tong[i]+=A[i][j];
		}
		printf("
 tong%d=%d",i,tong[i]);
	}
}
void hang(int n,int m,int A[20][20],int tong[20])
{
int i,j,dem=1;
	for(i=0;i<n;i++)
	{    	
		if(tong[i]<tong[i+1])
		{
		 dem++;
		}
	}
		printf("
hang co tong lon nhat la hang:%d",dem);


}

void main()
{
 int n,m,A[20][20],tong[20];
 clrscr();
 matran(&n,&m,A);
 max(n,m,A,tong);
 hang(n,m,A,tong);
 getch();
}
Saber Yii viết 02:28 ngày 01/10/2018

Bạn thử code mình xem

const int x = 100;

void nhap(int m, int n, int a[x][x]){

	for(int i = 1; i <= m; i++){
		for(int j= 1; j<= n; j++){
			cout << "a["<< i <<"]["<< j <<"] = ";
			cin>>a[i][j];
		}
	}

}

/* tìm từ dòng m -> dòng 1
tong: giá trị max
hang: dòng có tổng max */
void timTong(int m, int n, int a[x][x], int tong, int hang){
	if (m > 0){ // điều kiện dừng đệ quy
		int dem = 0;
		for(int i = 1; i <= n; i++){
			dem+= a[m][i];
		}

		if(dem > tong){
			tong = dem;
			hang = m;
		}

		m--;
		timTong(m, n,a, tong, hang); //đệ quy tìm tiếp
	} else {
		cout << "hang:" << hang << ", tong:" << tong;
	}

}

void main(){
	int a[x][x];
	int m = 5, n =5;
	nhap(m, n, a);
	timTong(m, n, a, 0, 0);

	_getch();
}
Dấu Chấm viết 02:21 ngày 01/10/2018

e mới học C chưa học C ++ a ơi

Bài liên quan
0