MA TRN
Hàm nhp & xut ma trn các s nguyên
void nhap(int a[][100],int &m,int &n)
{
printf("Nhap m:");
scanf("%d",&m);
printf("Nhap n:");
scanf("%d",&n);
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
printf("Nhap a[%d][%d]:",i,j);
scanf("%d",&a[i],[j]);
}
}
void xuat(int a[][100],int m,int n)
{
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
Hàm nhp & xut ma trn các s thc
void nhap(float a[][100],int &m,int &n)
{
printf("Nhap m :");
scanf("%d",&m);
printf("Nhap n :");
scanf("%d",&n);
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
printf("Nhap a[%d][%d]:",i,j);
scanf("%f",&a[i],[j]);
}
}
void xuat(float a[][100],int m,int n)
{
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
printf("%8.3f",a[i][j]);
printf("\n ");
}
}
Hàm nhp & xut ma trn các s nguyên dài
void nhap(long a[][100],int &m,int &n)
{
printf("Nhap m :");
scanf("%d",&m);
printf("Nhap n:");
scanf("%d",&n);
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
printf("Nhap a[%d][%d]",i,j);
scanf("%ld",&a[i][j]);
}
}
void xuat(long a[][100],int m,int n)
{
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
printf("%ld",a[i][j]);
printf("\n ");
}
}
Hàm nhp & xut ma trn các s thc dài
void nhap(double a[][100],int &m,int &n);
{
printf("Nhap m :");
scanf("%d",&m);
prinf("Nhap n :");
scanf("%d",&n);
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
printf("Nhap a[%d][%d]",i,j);
scanf("%lf",&a[i][j]);
}
}
void xuat(double a[][100],int m,int n)
{
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
printf("%lf",a[i][j]);
printf("\n ");
}
}
Chuyên đề v ma trận thường
Kĩ thuật tính toán
320 Tng các s ơng trong ma trận thc
int TongSoDuong(int a[][100], 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;
}
321 Tích các s l trong ma trn nguyên
int TichGiaTriLe(int a[][100], int n, int m)
{
int t=1;
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
if (a[i][j]%2!=0)
t*=a[i][j];
return t;
}
322 Tng giá tr trên 1 dòng ma trn thc
int TongDongX(float *a, int m) //chuy?n a[x] , x là dò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;
}
323 Tích giá tr dương trên 1 cột ma trn thc
float TichDuongCotY(float a[][100], int n, int m, int y) //y là s? c?t c?n tính
{
float T=1;
for (int i=0; i<n; i++)
if (a[i][y]>0)
T*=a[i][y];
return T;
}
324 Tng giá tr dương trên 1 dòng ma trận thc
int TongDuongDongX(float *a, int m)
//chuy?n a[x] , x là dòng mà b?n c?n tính t?ng
{
int S=0;
for (int i=0; i<m; i++)
{
if (a[i]>0)
S+=a[i];
}
return S;
}
325 Tích các chn trên 1 ct ma trn nguyên
int TichChanCotY(int a[][100], int n, int m, int y) //y là s? c?t c?n tính
{
int T=1;
for (int i=0; i<n; i++)
if (a[i][y]%2 = =0)
T*=a[i][y];
return T;
}
326 Trung bình cng các s dương ma trận thc
float TBCongDuong(float a[][100], int n, int m)
{
int S=0;
int dem =0 ;
for (int i=0; i<n; i++)
{
for (int j=0; j<m; j++)
{
if (a[i][j]>0)
{
S+=a[i][j];
dem++;
}
}
}
return (float)(S/dem);
}
327 Tng các giá tr nm trên biên ca ma trn
int TongBien(int a[][100], int n, int m)
{
int S=0;
for (int i=0; i<m; i++)
{
S = S+ a[0][i] + a[n-1][i];
}
for (i=1; i<n-1; i++)
{
S = S+ a[i][0] + a[i][m-1];
}
return S;
}
328 Trung bình nhân các s dương ma trận thc
float TBNhanDuong(float **a, int n, int m)
{
float T=1;
int dem =0 ;
for (int i=0; i<n; i++)
{
for (int j=0; j<m; j++)
{
if (a[i][j]>0)
{
T*=a[i][j];
dem++;
}
}
}
return pow(T,1.0/dem);
}
329 Biến đổi ma trn bng cách thay các giá tr âm bng giá tr tuyệt đối ca
void BienDoiMaTran(int a[][100], int n, int m)
{
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
a[i][j] = abs(a[i][j]);
}
330 Biến đổi ma trn thc bng cách thay các giá tr bng giá tr nguyên gn nó nht
float XuLy(float n)
{
float PhanNguyen = (int)(n);
float PhanLe = n - PhanNguyen;
if (PhanLe < 0,5)
{
return PhanNguyen;
}
return PhanNguyen+1;
}
void BienDoiMaTran(float a[][100], int dong, int cot)
{
for (int i=0;i<dong; i++)
{
for (int j=0; j<cot; j++)
{
a[i][j] = XuLy(a[i][j]);
}
}
}
331 Tng các giá tr trên 1 dòng ma trn thc
float TongDongX(int a[], int m) //chuy?n a[x] , x là dòng mà b?n c?n tính t?ng
{
float S=0;
for (int i=0; i<m; i++)
S+=a[i];
return S;
}
332 Tng giá tr l trên 1 ct ma trn nguyên
int TongLeCotY(int a[][100], int n, int m, int y) //y là s? c?t c?n tính
{
int S=0;
for (int i=0; i<n; i++)
if (a[i][y]%2 ! =0)
S+=a[i][y];
return S;
}
333 Tng các s hoàn thin trong ma trân s nguyên
int sohoanthien(int n)
{
int tong=0;
for (int i=1 ; i<n; i++)
if(n%i==0)
tong = tong + i;
if (tong == n)
return 1;