30/09/2018, 21:20
Help! Giải thích Code C về bài toán Min Max trong ma trận (mảng 2 chiều)
Mình gõ code C bài toán min max như sau, tìm mãi mà không thấy điểm sai ở đâu, tại sao Max nó in ra đúng mà Min lại ko đúng, ai biết giải thích hộ mình với.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[30][30] ,i, j, m, n;
int s=0, dem=0;
int max, min;
printf ("Nhap vao so dong va so cot cua ma tran
");
scanf("%d %d", &m ,&n);
for( i= 0; i < m ; i++)
{
for( j = 0 ; j < n ; j++)
{
printf("
a[%d][%d] = ",i+1,j+1);
scanf("%d",&a[i][j]);
}
}
printf("Ma tran da nhap vao la:
");
for( i = 0 ; i < m ; i++)
{
for( j = 0; j < n; j++)
{
printf("%4d",a[i][j]);
}
printf("
");
}
for( i = 0; i < m; i++)
{
for ( j = 0 ; j < n; j++)
{
s+=a[i][j];
dem++;
}
}
printf("
Tong cua cac phan tu ma tran la = %d",s);
printf("
Trung binh cua cac phan tu ma tran la = %6.2f",(float)s/dem);
max=a[0][0];
for ( i = 0; i < m; i++)
{
for( j = 0; j < n; j++)
{
if(a[i][j]>=max)
{
max=a[i][j];
}
}
}
printf("
Vi tri va gia tri cua phan tu max la: ");
for( i = 0; i< m; i++)
{
for( j = 0 ; j < n; j++)
{
if(a[i][j]==max)
printf("
a[%d][%d] = %d",i+1,j+1,max);
}
}
min=a[0][0];
for ( i = 0 ; i < m ; i++)
{
for( j = 0 ; j < n ; j++)
{
if(a[i][j]<=min);
{
min=a[i][j];
}
}
}
printf("
Vi tri va gia tri cua phan tu min la: ");
for( i = 0 ; i < m ; i++)
{
for( j = 0 ; j < n ; j++)
{
if(a[i][j]==min)
{
printf("
a[%d][%d] = %d",i+1,j+1,min);
}
}
}
getch();
}
Bài liên quan
Lỗi ở đây bỏ dấu
;
sau if đi.trời ơi, cảm ơn bạn nhiều… tìm mãi k ra