TÍNH T NG CÁC S D NG TRONG MA TR N ƯƠ
int TongSoDuong(int **a, int n, int m)
{
int s=0;
for (int i=0; i<n; i++)
{
for (int j=0; j<m; j++)
{
if (a[i][j]>0)
{
s+=a[i][j];
}
}
}
return s;
}
TÍNH T NG CÁC GIÁ TR TRÊN M T DÒNG C A MA TR N
int TongDongX(int *a, int m) //chuy n a[x] , x làng mà b n c n tính t ng
{
int S=0;
for (int i=0; i<m; i++)
{
S+=a[i];
}
return S;
}
HOÁN V HAI DÒNG MA TR N
void HoanVi2Dong(int a[][100],int cot, int d1, int d2)
{
int temp[100];
for (int i=0; i<cot; i++)
{
temp[i] = a[d1][i];
a[d1][i] = a[d2][i];
a[d2][i] = temp[i];
}
}
HOÁN V HAI C T MA TR N
void HoanVi2Cot(int a[][100],int dong,int c1, int c2)
{
int temp[100];
1
for (int i=0; i<dong; i++)
{
temp[i] = a[i][c1];
a[i][c1] = a[i][c2];
a[i][c2] = temp[i];
}
}
Đ M CH S TRONG MA TR N S NGUYÊN
int DemTungSo(int n)
{
int dem = 1;
n = abs(n);
while (n>=10)
{
n= n/10;
dem++;
}
return dem;
}
int Dem(int a[][100], int dong, int cot)
{
int dem = 0;
for (int i=0;i<dong; i++)
{
for (int j=0; j<cot; j++)
{
dem += DemTungSo(a[i][j]);
}
}
return dem;
}
Đ M T N S XU T HI N C A 1 GIÁ TR X TRONG MA TR N
int DemGiaTriX(float a[][100], int dong, int cot, float x)
{
int dem=0;
for (int i=0;i<dong; i++)
for (int j=0; j<cot; j++)
if (a[i][j]==x)
dem++;
return dem;
}
TÌM CÁC CH S XU T HI N NHI U NH T TRONG M NG
2
void ChuSo(int n, int b[])
{
int DonVi;
n = abs(n);
do
{
DonVi = n%10;
b[DonVi]++;
n=n/10;
} while (n>0);
}
void GiaTriCanTim(int a[][100], int cot, int dong)
{
int b[10] = {0};
for (int i=0; i<dong;i++)
{
for (int j=0; j<cot; j++)
{
ChuSo(a[i][j],b);
}
}
int ChuSoNhieuNhat = 0;
for (i=1; i<10; i++)
{
if (b[ChuSoNhieuNhat] < b[i])
{
ChuSoNhieuNhat = i;
}
}
printf("Cac chu so xuat hien nhieu nhat: ");
for (i=0; i<10; i++)
{
if (b[ChuSoNhieuNhat] == b[i])
{
printf("%4d", i);
}
}
}
LI T KÊ DÒNG CÓ T NG L N NH T
int tong(int a[], int cot)
{
int s=0;
for (int i=0; i<cot; i++)
{
s+=a[i];
}
return s;
}
void LietKe(int a[][100], int cot, int dong)
{
int b[100];
for (int i=0; i<dong; i++)
{
b[i] = tong(a[i],cot);
3
}
//Tong Max
int Max = b[0];
for (i=1; i<dong; i++)
{
Max = (Max>b[i])?Max:b[i];
}
//Liet ke Tong Max
for (i = 0; i< dong ;i++)
{
if (Max == b[i])
{
printf("\nDong %d co tong ptu lon nhat la %d", i,Max);
}
}
}
LI T KÊ C T CÓ T NG NH NH T
void LietKe(int a[][100], int cot, int dong)
{
int b[100] = {0};
for (int i=0; i<cot; i++)
{
for (int j=0; j<dong; j++)
{
b[i]+=a[j][i];
}
}
//Tong Min
int Min = b[0];
for (i=1; i<cot; i++)
{
Min = (Min<b[i])?Min:b[i];
}
//Liet ke Tong Min
for (i = 0; i< cot ;i++)
{
if (Min == b[i])
{
printf("\nCot %d co tong ptu nho nhat la %d", i,Min);
}
}
}
TÌM GIÁ TR XU T HI N NHI U NH T
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int flag[100][100] = {0};
int GiaTri , Dem = 0,Dem1=0;
for (int i=0; i<dong; i++)
{
for(int j=0; j<cot; j++)
{
if (flag[i][j]==0)
{
4
for (int k=i; k<dong; k++)
{
for (int h=0; h<cot;h++)
{
if (flag[k][h]==0)
{
if (a[i][j] == a[k][h])
{
flag[k][h] = 1;
Dem++;
}
}
}
}
if (Dem > Dem1)
{
Dem1 = Dem;
GiaTri = a[i][j];
Dem = 0;
}
}
}
}
return GiaTri;
}
TÌM MAX TRONG MA TR N
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int Max = a[0][0];
for (int i=0; i<dong; i++)
{
for(int j=0; j<cot; j++)
{
Max = (Max>a[i][j])?Max:a[i][j];
}
}
return Max;
}
TÌM S CH N Đ U TIÊN TRONG MA TR N
int GiaTriCanTim(int a[][100], int cot, int dong)
{
for (int i=0; i<dong; i++)
{
for(int j=0; j<cot; j++)
{
if (a[i][j]%2==0)
{
return a[i][j];
}
}
}
return -1;
}
5