01/10/2018, 12:35

Mảng 2 chiều: GTLN của GTNN của từng dòng

Em chỉ mới làm được GTNN của từng dòng,em không biết làm sao để code để lấy kết quả min từng dòng rồi max nó nữa,có ai biết thì chỉ em với.

int min(int a[maxm][maxn],int m,int n)
{
	for(int i=0;i<m;i++)
	{
		int min=a[i][0];
		for(int j=0;j<n;j++)
		if(a[i][j]<min)
		min=a[i][j];
		printf("
%d",min);
	}
	printf("
");
	
}
Hieu Hoang viết 14:44 ngày 01/10/2018

bài này tạo 1 mảng min gồm m phần tử min rồi chạy tìm max thôi

Từ Liên viết 14:38 ngày 01/10/2018

Cái này là em muốn tìm min từng dòng trước rồi mới tìm max của những cái min đó ạ

Edogawa Conan viết 14:39 ngày 01/10/2018

Tức là tạo mảng int min[m]; rồi dùng vòng lặp

for (int i = 0; i < m; i++)
	{
		if (min[i] > max) {
			max = min[i];
		}
	}

rồi in ra max thôi

Từ Liên viết 14:48 ngày 01/10/2018

Anh nói rõ hơn đc ko ạ,em không hiểu lắm

Edogawa Conan viết 14:45 ngày 01/10/2018
int min[m];
	for(int i=0;i<m;i++)
	{
		min[i]=a[i][0];
		for(int j=0;j<n;j++)
		{
		if(a[i][j]<min)
		min[i]=a[i][j];
		}
	}

cái này là tìm min trong mỗi dòng
cái ở trên là tìm max

Từ Liên viết 14:49 ngày 01/10/2018

Cái min từng dòng em biết ạ,tại em đã đăng ở trên rồi,em thắc mắc ở chỗ tìm max ấy em làm giống anh thì ra lỗi,em nghĩ là lúc đầu phải gán max cơ mà em rối ở chỗ gán max bằng gì?

Edogawa Conan viết 14:36 ngày 01/10/2018

mình gán max = min[0] bạn ạ

Từ Liên viết 14:40 ngày 01/10/2018

vẫn bị lỗi ạ,em sửa hoài ko đc

HK boy viết 14:48 ngày 01/10/2018

max min[i];

int min[m]

Code sai lỗi cơ bản.

Edogawa Conan viết 14:48 ngày 01/10/2018

bạn khai báo min[m] sai chỗ kìa. với cả thiếu dấu ‘=’ nữa. Bạn thử cái này xem sao :


int mindong(int a[maxm][maxn],int m,int n)
{
	int min[m];
	for(int i=0;i<m;i++)
	{
		min[i]=a[i][0];
		for(int j=0;j<n;j++)
		{
		if(a[i][j]<min)
		min[i]=a[i][j];
		}
		printf("\nSo nho nhat trong hang %d la %d",i,min[i]);
	}
	int max = min[0];
	for (int i = 0; i < m; i++)
	{
		if (min[i] > max) {
			max = min[i];
		}
	}
	printf("\n So lon nhat trong nhung so nho nhat la %d",max);
	
}
Từ Liên viết 14:37 ngày 01/10/2018

cái này bị lỗi con trỏ anh ơi mà em chưa học con trỏ

Edogawa Conan viết 14:48 ngày 01/10/2018

Bạn dùng 2 hàm khác nhau hả ?

Từ Liên viết 14:47 ngày 01/10/2018

em dùng trong 1 hàm nó cũng bị lỗi

Edogawa Conan viết 14:36 ngày 01/10/2018
int mindong(int a[maxm][maxn],int m,int n)
{
        // int min[m] ở đây
	for(int i=0;i<m;i++)
	{
	    int min=a[i][0];   // min[i] mới đúng                      
	    for(int j=0;j<n;j++)
		if(a[i][j]<min) //min[i] không phải min
		min=a[i][j]; //min[i] không phải min
		printf("\n%d ",min); //min[i] không phải min
	}
	int min[i]; //Khai báo kiểu này này biểu sao không lỗi, i ở đâu ra vả lại sai chỗ
	int max=min[0];
	for(int i=0;i<m;i++)
	if(min[i]>max) max=min[i];
	printf("\n%d",max);
}
HK boy viết 14:45 ngày 01/10/2018
for(int i=0;i<m;i++)
{
    int min=a[i][0];                
    for(int j=0;j<n;j++)
	if(a[i][j<min) 
	min=a[i][j];
	printf("\n%d ",min);
}
int min[i];

Vừa khai báo min là kiểu int, sau đấy lại khai báo min là kiểu mảng với số phần tử i không tồn tại, bạn có hiểu code của bạn không?

Bài liên quan
0