Tìm min,max trên từng hàng rồi tìm min,max của các min,max đó để tìm ra giá trị min,max của ma trận
#include <stdio.h>
#include <conio.h>
void nhap( inta[][50],int m, intn)
{
int i,j,tg;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("a[%d][%d]= ",i,j); scanf("%d",&tg);
a[i][j]=tg;
}
}
void xem( inta[][50],int m,intn)
{
int i,j;
printf("\n xem mang vua nhap:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++) printf("%5d",a[i][j]);
printf("\n");
}
}
int min1( inta[][50], int m,intn)
{
if(n==0) returna[m][n];
if(a[m][n]<min1(a,m,n-1)) return a[m][n];
returnmin1(a,m,n-1);
}
int min( inta[][50], int m, intn)
{
if(m==0) returnmin1(a,m,n);
if ( min1(a,m,n)<min(a,m-1,n)) return min1(a,m,n);
returnmin(a,m-1,n);
}
int max1(inta[][50],int m,intn)
{
if (n==0)returna[m][n];
if(a[m][n]>max1(a,m,n-1)) return a[m][n];
return max1 (a,m,n-1);
}
int max(inta[][50],int m,intn)
{
if(m==0) returnmax1(a,m,n);
if(max1(a,m,n)>max(a,m-1,n)) returnmax1(a,m,n);
returnmax(a,m-1,n);
}
int main()
{
int a[50][50],m,n;
printf("Nhap so cot cua ma tran n = "); scanf("%d",&n);
printf("Nhap so hang cua ma tran m = "); scanf("%d",&m);
if((n<=0)||(m<=0)) printf("so hang so cot ban nhap ko hop le!");
else
{
nhap(a,m,n);
xem(a,m,n);
printf("\n min = %d",min(a,m-1,n-1));
printf("\n max = %d",max(a,m-1,n-1));
}
getch();
}
No comments:
Post a Comment