Professional Documents
Culture Documents
{
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 Tch cc s l trong ma trn nguyn
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 trn 1 dng ma trn thc
int TongDongX(float *a, int m) //chuy?n a[x] , x l dng m b?n c?n tnh t?ng
{
int S=0;
for (int i=0; i<m; i++)
S+=a[i];
return S;
}
323 Tch gi tr dng trn 1 ct ma trn thc
float TichDuongCotY(float a[][100], int n, int m, int y) //y l s? c?t c?n tnh
{
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 dng trn 1 dng ma trn thc
int TongDuongDongX(float *a, int m)
//chuy?n a[x] , x l dng m b?n c?n tnh t?ng
{
int S=0;
for (int i=0; i<m; i++)
{
if (a[i]>0)
S+=a[i];
}
return S;
}
325 Tch cc chn trn 1 ct ma trn nguyn
int TichChanCotY(int a[][100], int n, int m, int y) //y l s? c?t c?n tnh
{
int T=1;
for (int i=0; i<n; i++)
if (a[i][y]%2 = =0)
T*=a[i][y];
return T;
}
326 Trung bnh cng cc s dng ma trn 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 cc gi tr nm trn bin 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 bnh nhn cc s dng ma trn 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);
}
return 0;
}
int TongSoHoanThien(int a[][100],int n, int m)
{
int S=0;
for (int i=0;i<dong; i++)
for (int j=0; j<cot; j++)
if (SoHoanThien(a[i][j])==1)
S+=a[i][j];
return S;
}
K thut m
334 Vit hm m s lng s dng trong ma trn thc
int DemDuong(float a[][100], int dong, int cot)
{
int dem=0;
for (int i=0;i<dong; i++)
for (int j=0; j<cot; j++)
if (a[i][j]>0)
dem++;
return dem;
}
335 m s lng s ng t trong ma trn nguyn
int SoNguyenTo(int n)
{
if (n<=1)
return 0;
for (int i=2; i<n; i++)
if (n%i==0)
return 0;
return 1;
}
int DemSoNguyenTo(int a[][100], int dong, int cot)
{
int dem=0;
for (int i=0;i<dong; i++)
for (int j=0; j<cot; j++)
if (SoNguyenTo(a[i][j])==1)
dem++;
return dem;
}
336 m tn sut xut hin ca 1 gi tr x trong ma trn thc
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;
}
337 m s ch s trong ma trn s nguyn dng
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;
}
338 m s lng s dng trn 1 hng ma trn thc
int DemDuong(float a[][100], int cot, int HangCanTinh)
{
int dem=0;
for (int j=0; j<cot; j++)
if (a[HangCanTinh][j]>0)
dem++;
return dem;
}339 m s lng s hon thin trn 1 hng ma trn nguyn
int SoHoanThien(int n)
{
if (n<=0)
return 0;
int s=0;
for (int i=1;i<n;i++)
if (n%i==0)
s+=i;
if (s==n)
return 1;
return 0;
}
int DemSoHoanThien(int a[][100], int cot, int HangCanTinh)
{
int dem=0;
for (int j=0; j<cot; j++)
if (SoHoanThien(a[HangCanTinh][j])==1)
dem++;
return dem;
}
340 m s lng m trn 1 ct ma trn thc
int DemSoDuong(float a[][100], int dong, int CotCanTinh)
{
int dem=0;
}
}
return dem;
}
343 m s lng pt cc tr ma trn thc.1 pt cc tr khi n ln hn hoc nh hn pt xung quanh
int CucTri(float a[][100],int dong,int cot, int i, int j)
{
int dx[8]={-1,-1,-1, 0, 0, 1, 1, 1};
int dy[8]={-1, 0, 1,-1, 1,-1, 0, 1};
for (int k=0; k<8; k++)
{
if ((0<=dx[k]+i && dx[k]+i<dong) && (0<=dy[k]+j && dy[k]+j < cot))
{
if (a[i][j]<a[dx[k]+i][dy[k]+j])
{
for (k=k+1; k<8; k++)
{
if ((0<=dx[k]+i && dx[k]+i<dong) && (0<=dy[k]+j && dy[k]+j < cot))
{
if (a[i][j]>a[dx[k]+i][dy[k]+j])
{
return 0;
}
}
}
}
else
{
for (k=k+1; k<8; k++)
{
if ((0<=dx[k]+i && dx[k]+i<dong) && (0<=dy[k]+j && dy[k]+j < cot))
{
if (a[i][j]<a[dx[k]+i][dy[k]+j])
{
return 0;
}
}
}
}
}
}
return 1;
}
int DemCucTri(float a[][100], int dong, int cot)
{
int dem=0;
for (int i=0;i<dong; i++)
{
for (int j=0; j<cot; j++)
{
if (CucTri(a,dong,cot,i,j)==1)
{
dem++;
}
}
}
return dem;
}
344 m s lng gi tr c trong ma trn thc. Lu : nu c k pt (k>=1) trong ma trn bng nhau th ta ch tnh
l 1
int Xet(float a[][100], int dong,int cot, int i, int j)
{
int k, h; //k: dong, h: cot
for (h=j+1; h<cot; h++)
{
if (a[i][h] == a[i][j])
{
return 0;
}
}
for (k=i+1; k<dong; k++)
{
for (h=0; h<cot; h++)
{
if (a[k][h] == a[i][j])
{
return 0;
}
}
}
return 1;
}
int DemPtu(float a[][100],int dong,int cot)
{
int dem=0;
for (int i=0; i<dong; i++)
{
for (int j=0; j<cot; j++)
{
if (Xet(a,dong,cot,i,j)==1)
{
dem++;
}
}
}
return dem;
}
345 Tnh tng cc pt cc tr trong ma trn thc
int CucTri(float a[][100],int dong,int cot, int i, int j)
{
int dx[8]={-1,-1,-1, 0, 0, 1, 1, 1};
int dy[8]={-1, 0, 1,-1, 1,-1, 0, 1};
for (int k=0; k<8; k++)
{
if ((0<=dx[k]+i && dx[k]+i<dong) && (0<=dy[k]+j && dy[k]+j < cot))
{
if (a[i][j]<a[dx[k]+i][dy[k]+j])
{
{
for (int j=0; j<cot; j++)
{
if (XetTongQuat(a,dong,cot,i,j) == 1)
{
dem ++;
}
}
}
return dem;
}
347 m s lng yn nga.1 pt yn nga khi n ln nht trn dng, nh nht trn ct
int XetCotDong(int a[][100],int dong,int cot, int i, int j)
{
for (int k=0; k<dong; k++ )
{
if (a[k][j]<a[i][j])
{
return 0;
}
}
for (k=0; k<cot; k++ )
{
if (a[i][k]>a[i][j])
{
return 0;
}
}
return 1;
}
int DemYenNgua(int a[][100], int dong,int cot)
{
int dem=0;
for (int i=0; i<dong; i++)
{
for (int j=0; j<cot; j++)
{
if (XetCotDong(a,dong,cot,i,j) == 1)
{
dem ++;
}
}
}
return dem;
}
K thut t C Hiu
348 Ktra ma trn c s dng ko
int Ktra(int a[][100],int dong,int cot)
{
int flag = 0;
for (int i=0; i<dong; i++)
{
for (int j=0;j<cot;j++)
{
if (a[i][j]>0)
{
flag=1;
break;
}
}
}
return flag;
}
349 Ktra ma trn c s hon thin ko
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;
return 0;
}
int Ktra(int a[][100],int dong,int cot)
{
int flag = 0;
for (int i=0; i<dong; i++)
{
for (int j=0;j<cot;j++)
{
if (sohoanthien(a[i][j])==1)
{
flag=1;
break;
}
}
}
return flag;
}
350 Ktra ma trn c s l ko
int Ktra(int a[][100],int dong,int cot)
{
int flag = 0;
for (int i=0; i<dong; i++)
{
for (int j=0;j<cot;j++)
{
if (a[i][j]%2!=0)
{
flag=1;
break;
}
}
}
return flag;
}
{
if (a[i][j]<a[i][j+1])
{
flag=0;
break;
}
}
}
//Ktra cot sau
for (j=0; j<cot;j++)
{
for (i=0; i<dong-1;i++)
{
if (a[j][i]<a[j][i+1])
{
flag=0;
break;
}
}
}
return flag;
}
355 Lit k cc dng ton m trong ma trn cc s thc
void LietKe(float a[][100],int dong,int cot)
{
int i,j,flag;
//Ktra dong truoc
for (i=0;i<dong;i++)
{
for (flag =1,j=0; j<cot;j++)
{
if (a[i][j]>0)
{
flag=0;
break;
}
}
if (flag == 1)
{
printf("\nDong a[%d] toan am : ",i);
for (j=0;j<cot;j++)
{
printf(" %.2f ",a[i][j]);
}
}
}
}
356 Lit k ch s cc dng cha ton gi tr chn
void LietKe(int a[][100],int dong,int cot)
{
int i,j,flag;
//Ktra dong truoc
for (i=0;i<dong;i++)
{
}
else if (a[i][j]==0)
{
flag[1] = 1;
}
else if (a[i][j]>0)
{
flag[2] = 1;
}
if (flag[0]+flag[1]+flag[2]==3)
{
printf("\nDong a[%d] co ptu am, duong, 0",i);
break;
}
}
}
}
}
362 Lit k cc dng gim dn
void LietKe(int a[][100],int dong,int cot)
{
int i,j,flag;
for (i=0;i<dong;i++)
{
for (flag =1,j=0; j<cot-1;j++)
{
if (a[i][j]<a[i][j+1])
{
flag = 0;
break;
}
}
if (flag == 1)
{
printf("\nDong a[%d] giam",i);
}
}
}
363 Lit k cc ct tng dn
void LietKe(int a[][100],int dong,int cot)
{
int i,j,flag;
for (j=0;j<cot;j++)
{
for (flag =1,i=0; i<dong-1;i++)
{
if (a[i][j]>a[i+1][j])
{
flag = 0;
break;
}
}
if (flag == 1)
{
printf("\nCot a[%d] tang",j);
}
}
}
364 Cho 2 ma trn A,B. Ktra ma trn A c l ma trn con ca B ko?
int KiemTra(int a[][100], int donga, int cota, int b[][100], int dongb, int cotb)
{
int i,j,k,h,flag=0,s,t;
for (i=0; i<donga; i++)
{
for (j=0;j<cota;j++)
{
if (donga-i>=dongb && cota-j>=cotb && a[i][j]==b[0][0])
{
for (flag=1,s=i,k=0;k<dongb;k++,s++)
{
for (h=0,t=j;h<cotb;h++,t++)
{
if (b[k][h]!=a[s][t])
{
flag =0;
break;
}
}
if (flag == 0)
break;
else
return 1;
}
}
}
}
return 0;
}
365 m s ln xut hin ca ma trn A trong ma trn B?
int Dem(int a[][100], int donga, int cota, int b[][100], int dongb, int cotb)
{
int i,j,k,h,flag=1,s,t,dem=0;
for (i=0; i<donga; i++)
{
for (j=0;j<cota;j++)
{
if (donga-i>=dongb && cota-j>=cotb && a[i][j]==b[0][0])
{
for (s=i,k=0;k<dongb;k++,s++)
{
for (h=0,t=j;h<cotb;h++,t++)
{
if (b[k][h]!=a[s][t])
{
flag =0;
break;
}
}
if (flag == 0)
break;
}
if (flag == 1)
{
dem++;
}
}
}
}
return dem;
}
K thut t lnh canh
366 Tm s chn u tin trong ma trn
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;
}
367 Tm max trong ma trn
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;
}
368 Tm gi tr ln th 2 trong ma trn (max2)
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];
}
}
int Max2 = a[0][0];
for (i=0; i<dong; i++)
{
for(int j=0; j<cot; j++)
{
if (Max>Max2 && a[i][j]!=Max && Max2<a[i][j])
{
Max2 = a[i][j];
}
}
}
return Max2;
}
369 Tm s dng u tin trong ma trn
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]>0)
{
return a[i][j];
}
}
}
return -1;
}
370 Tm gi tr m ln nht trong ma trn
int AmDauTien(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]<0)
{
return a[i][j];
}
}
}
return 0;
}
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int AmMax = AmDauTien(a,cot,dong);
if (AmMax == 0)
{
return 0;
}
}
printf("\nDong %d: ",i) ;
printf("Gia tri max %d",Max);
}
}
373 Tm gi tr nh nht trn 1 ct
void LietKe(int a[][100], int cot, int dong)
{
for (int i=0; i<cot;i++)
{
int Min = a[0][i];
for (int j=0; j<dong; j++)
{
Min = (Min<a[j][i])?Min:a[j][i];
}
printf("\nCot %d: ",i) ;
printf("Gia tri min %d",Min);
}
}
374 Tm s nguyn t u tin
int SoNguyenTo(int a)
{
if (a<=1)
{
return 0;
}
for (int i=2; i<a; i++)
{
if (a%i==0)
{
return 0;
}
}
return 1;
}
int GiaTriCanTim(int a[][100], int cot, int dong)
{
for (int i=0; i<dong; i++)
{
for(int j=0; j<cot; j++)
{
if (SoNguyenTo(a[i][j])==1)
{
return a[i][j];
}
}
}
return -1;
}
375 Tm s chn ln nht
int ChanDauTien(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;
}
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int ChanMax = ChanDauTien(a,cot,dong);
if (ChanMax == -1)
{
return -1;
}
for (int i=0; i<dong;i++)
{
for (int j=0; j<cot; j++)
{
if (a[i][j]%2==0)
{
ChanMax = (ChanMax>a[i][j])?ChanMax:a[i][j];
}
}
}
return ChanMax;
}
376 Tm s dng nh nht
int DuongDauTien(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]>0)
{
return a[i][j];
}
}
}
return -1;
}
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int DuongMin = DuongDauTien(a,cot,dong);
if (DuongMin == -1)
{
return -1;
}
for (int i=0; i<dong;i++)
{
for (int j=0; j<cot; j++)
{
if (a[i][j]>0)
{
DuongMin = (DuongMin<a[i][j])?DuongMin:a[i][j];
}
}
}
return DuongMin;
}
377 Tm s nguyn t ln nht
int SoNguyenTo(int a)
{
if (a<=1)
{
return 0;
}
for (int i=2; i<a; i++)
{
if (a%i==0)
{
return 0;
}
}
return 1;
}
int SoNguyenToDauTien(int a[][100], int cot, int dong)
{
for (int i=0; i<dong; i++)
{
for (int j=0; j<cot; j++)
{
if (SoNguyenTo(a[i][j])==1)
{
return a[i][j];
}
}
}
return -1;
}
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int SoNguyenToMax = SoNguyenToDauTien(a,cot,dong);
if (SoNguyenToMax == -1)
{
return -1;
}
for (int i=0; i<dong;i++)
{
for (int j=0; j<cot; j++)
{
if (SoNguyenTo(a[i][j])==1)
{
SoNguyenToMax = (SoNguyenToMax>a[i][j])?SoNguyenToMax:a[i][j];
}
}
}
return SoNguyenToMax;
}
378 Tm 1 ch s xut hin nhiu nht
void ChuSo(int n, int b[])
{
int DonVi;
n = abs(n);
do
{
DonVi = n%10;
b[DonVi]++;
n=n/10;
} while (n>0);
}
int 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;
}
}
return ChuSoNhieuNhat;
}
379 m s lng min
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int dem = 0;
int Min = a[0][0];
for (int i=0; i<dong;i++)
{
for (int j=0; j<cot; j++)
{
if (Min == a[i][j])
{
dem ++ ;
}
else if (Min > a[i][j])
{
Min = a[i][j];
dem = 1;
}
}
}
return dem;
}
380 m s lng chn nh nht
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int dem = 0;
int Min = a[0][0];
for (int i=0; i<dong;i++)
{
for (int j=0; j<cot; j++)
{
if (Min == a[i][j])
{
dem ++ ;
}
else if (Min > a[i][j])
{
Min = a[i][j];
dem = 1;
}
}
}
return dem;
}
381 Tm gi tr xut hin nhiu nht
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)
{
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;
}
382 Tm s chnh phng ln nht
int SoChinhPhuong(int n)
{
int a = sqrt (n);
if (a*a == n)
{
return 1;
}
return 0;
}
int SoChinhPhuongDauTien(int a[][100], int cot, int dong)
{
for (int i=0; i<dong; i++)
{
for (int j=0; j<cot; j++)
{
if (SoChinhPhuong(a[i][j])==1)
{
return a[i][j];
}
}
}
return -1;
}
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int SoChinhPhuongMax = SoChinhPhuongDauTien(a,cot,dong);
if (SoChinhPhuongMax == -1)
{
return -1;
}
for (int i=0; i<dong;i++)
{
for (int j=0; j<cot; j++)
{
if (SoChinhPhuong(a[i][j])==1)
{
SoChinhPhuongMax = (SoChinhPhuongMax>a[i][j])?SoChinhPhuongMax:a[i][j];
}
}
}
return SoChinhPhuongMax;
}
383 Tm s han thin nh nht
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;
return 0;
}
int SoHoanThienDauTien(int a[][100], int cot, int dong)
{
for (int i=0; i<dong; i++)
{
for (int j=0; j<cot; j++)
{
if (SoHoanThien(a[i][j])==1)
{
return a[i][j];
}
}
}
return -1;
}
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int SoHoanThienMin = SoHoanThienDauTien(a,cot,dong);
if (SoHoanThienMin == -1)
{
return -1;
}
for (int i=0; i<dong;i++)
{
for (int j=0; j<cot; j++)
{
if (SoHoanThien(a[i][j])==1)
{
SoHoanThienMin = (SoHoanThienMin<a[i][j])?SoHoanThienMin:a[i][j];
}
}
}
return SoHoanThienMin;
}
{
b[i] = tong(a[i],cot);
}
//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);
}
}
}
386 Lit k cc ct c tng nh nht
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);
}
}
}
387 Lit k cc dng c nhiu s chn nht
void LietKe(int a[][100], int cot, int dong)
{
int dem[100] = {0};
for (int i=0; i<dong; i++)
for (int j=0; j<cot; j++)
if (a[i][j]%2==0)
dem[i]++;
{
temp[i] = a[i][c1];
a[i][c1] = a[i][c2];
a[i][c2] = temp[i];
}
}
394 Dch xung xoay vng cc hng trong ma trn
void DichXuong(int a[][100], int cot, int dong)
{
int temp[100];
for (int i=0; i<dong; i++)
{
temp[i] = a[cot-1][i];
}
for (i = cot-1; i>=1; i--)
{
for (int j=0; j<dong; j++)
{
a[i][j] = a[i-1][j];
}
}
for (i=0; i<dong; i++)
{
a[0][i] = temp[i] ;
}
}
395 Dch ln xoay vng cc hng trong ma trn
void DichLen(int a[][100], int cot, int dong)
{
int temp[100];
for (int i=0; i<cot; i++)
{
temp[i] = a[0][i];
}
for (i = 0; i<dong-1; i++)
{
for (int j=0; j<cot; j++)
{
a[i][j] = a[i+1][j];
}
}
for (i=0; i<cot; i++)
{
a[dong-1][i] = temp[i] ;
}
}
396 Dch tri xoay vng cc ct trong ma trn
void DichTrai(int a[][100], int cot, int dong)
{
int temp[100];
for (int i=0; i<dong; i++)
{
temp[i] = a[i][0];
}
for (int j = 0; j<cot-1; j++)
{
for (i=0; i<dong; i++)
{
a[i][j] = a[i][j+1];
}
}
for (i=0; i<dong; i++)
{
a[i][cot-1] = temp[i] ;
}
}
397 Dch phi xoay vng cc ct trong ma trn
void DichPhai(int a[][100], int cot, int dong)
{
int temp[100];
for (int i=0; i<dong; i++)
{
temp[i] = a[i][cot-1];
}
for (int j = cot-1; j>0; j--)
{
for (i=0; i<dong; i++)
{
a[i][j] = a[i][j-1];
}
}
for (i=0; i<dong; i++)
{
a[i][0] = temp[i] ;
}
}
398 Dch phi xoay vng theo chiu kim ng h cc gi tr nm trn bin
void DichPhaiXoayVong(int a[][100], int n, int m) // n dng m c?t
{
int i, j; //i dong , j cot
int tam = a[0][0];
for (i=0,j=i; i< n-1; i++) //n=4, m = 5
{
a[i][j] = a[i+1][j]; //i = 3 --> dung, j =0
}
for (j,i; j< m -1; j++ )
{
a[i][j] = a[i][j+1];
//i=3 --> j = 4
}
for (i,j; i>0; i--)
{
a[i][j] = a[i-1][j];
//i = 0 --> j =4
}
//i = 0 --> j = 1
}
399 Dch tri xoay vng theo chiu kim ng h cc gi tr nm trn bin
void DichTraiXoayVong(int a[][100], int cot, int dong)
{
int i, j;
int tam = a[0][0];
for (i=0,j=0; j< cot-1; j++)
{
a[i][j] = a[i][j+1];
}
for (i,j; i< dong-1; i++ )
{
a[i][j] = a[i+1][j];
}
for (i,j; j>0; j--)
{
a[i][j] = a[i][j-1];
}
for (i,j; i>1; i--)
{
a[i][j] = a[i-1][j];
}
a[1][0] = tam;
}
400 Xa 1 dng trong ma trn
void Xoa(int a[][100], int cot, int &dong)
{
printf("Nhap chi so dong ban muon xoa");
int x,i,j;
do
{
scanf("%d", &x);
} while ( x<0 || x>=dong);
for ( i=x;i<dong-1;i++ )
{
for (j=0; j<cot;j++)
{
a[i][j] = a[i+1][j];
}
}
dong--;
}
401 Xa 1 ct trong ma trn
void Xoa(int a[][100], int &cot, int dong)
{
printf("Nhap chi so cot ban muon xoa");
int x,i,j;
do
{
scanf("%d", &x);
} while ( x<0 || x>=cot);
for ( i=x;i<cot-1;i++ )
{
for (j=0; j<dong;j++)
{
a[j][i] = a[j][i+1];
}
}
cot--;
}
402 Xoay ma trn 1 gc 90
void XoayMaTran(int a[][100], int cot, int dong)
{
for (int i=0;i<cot; i++)
{
for (int j=dong-1; j>=0; j--)
{
printf("%4d",a[j][i]);
}
printf("\n");
}
}
403 Xoay ma trn 1 gc 180
void XoayMaTran(int a[][100], int cot, int dong)
{
for (int i=dong-1;i>=0; i--)
{
for (int j=0; j<cot; j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
}
404 Xoay ma trn 1 gc 270
void XoayMaTran(int a[][100], int cot, int dong)
{
for (int i=cot-1;i>=0; i--)
{
for (int j=0; j<dong; j++)
{
printf("%4d",a[j][i]);
}
printf("\n");
}
}
{
for (int k=j+1; k<cot;k++)
{
if (a[x][j]<a[x][k])
{
int temp = a[x][j];
a[x][j] = a[x][k];
a[x][k] = temp;
}
}
}
}
409 Sp xp pt trn 1 ct tng dn t trn xung di
void SapXep(int a[][100], int cot, int dong)
{
int x;
printf("Nhap cot muon sap xep: ");
scanf("%d",&x);
for (int i=0; i<dong-1; i++)
{
for (int j=i+1; j<dong;j++)
{
if (a[i][x]>a[j][x])
{
int temp = a[i][x];
a[i][x] = a[j][x];
a[j][x] = temp;
}
}
}
}
410 Sp xp pt trn 1 ct gim dn t trn xung di
void SapXep(int a[][100], int cot, int dong)
{
int x;
printf("Nhap cot muon sap xep: ");
scanf("%d",&x);
for (int i=0; i<dong-1; i++)
{
for (int j=i+1; j<dong;j++)
{
if (a[i][x]<a[j][x])
{
int temp = a[i][x];
a[i][x] = a[j][x];
a[j][x] = temp;
}
}
}
}
411 Xut gi tr chn trong ma trn theo th t gim dn
412 Xut cc s nguyn t theo th t tng dn
GanMangVaoMaTran(a,cot,dong,b);
}
416 Sp xp pt dng tng dn theo ct v dng. Dng 2 phng php: S dng mng ph v ko s dng mng
ph (nh bi 415 thm iu kin xt pt dng)
417 Sp xp pt chn gim dn theo ct v dng. Dng 2 phng php: S dng mng ph v ko s dng mng
ph (nh bi 415 thm iu kin xt pt chn v i du > thnh <)
418 Sp xp m tng dn, dng gim dn, 0 gi nguyn
void SapXepSoAm(int a[][10], int cot, int dong)
{
int i,j,k,h,d=0,temp;
for (i=0;i<dong;i++)
{
for (j=0; j<cot; j++)
{
if (a[i][j]<0)
{
for (k=i; k<dong; k++)
{
if (d==0)
h=j;
else
h=0;
for (; h<cot; h++)
{
if (a[i][j] > a[k][h] && a[k][h]<0)
{
temp = a[i][j];
a[i][j] = a[k][h];
a[k][h] = temp;
}
}
if (h==cot)
d=1;
}
d=0;
}
}
}
}
void SapXepSoDuong(int a[][10], int cot, int dong)
{
int i,j,k,h,d=0,temp;
for (i=0;i<dong;i++)
{
for (j=0; j<cot; j++)
{
if (a[i][j]>0)
{
for (k=i; k<dong; k++)
{
if (d==0)
h=j;
else
h=0;
for (; h<cot; h++)
{
if (a[i][j] < a[k][h] && a[k][h]>0)
{
temp = a[i][j];
a[i][j] = a[k][h];
a[k][h] = temp;
}
}
if (h==cot)
d=1;
}
d=0;
}
}
}
}
void SapXep(int a[][10], int cot, int dong)
{
SapXepSoAm(a,cot,dong);
SapXepSoDuong(a,cot,dong);
}
419 Sp xp chn tng, l gim (nh bi 418 ch sa li iu kin)
420 Sp xp cc gi tr nm trn bin ma trn tng dn
void GanBienVaoMang(int a[][10], int cot, int dong, int b[], int &n)
{
int i=0, j;
for (j=i; j< cot; j++)
{
b[n] = a[i][j];
n++;
}
for (i++,j--; i< dong; i++ )
{
b[n] = a[i][j];
n++;
}
for (i--,j--; j>=0; j--)
{
b[n] = a[i][j];
n++;
}
for (i--,j++; i>0; i--)
{
b[n] = a[i][j];
n++;
}
}
void SapXepMangTangDan(int b[], int n)
{
}
}
}
void HoanVi2Dong(int a[][10],int cot, int d1, int d2)
{
int temp[10];
for (int i=0; i<cot; i++)
{
temp[i] = a[d1][i];
a[d1][i] = a[d2][i];
a[d2][i] = temp[i];
}
}
void SapXep(int a[][10], int cot, int dong)
{
int b[10] = {0};
TongCacDong(a,cot,dong,b);
for (int i=0; i<dong-1; i++)
{
for (int j=i+1; j<dong; j++)
{
if (b[i]>b[j])
{
HoanVi2Dong(a,cot,i,j);
int temp = b[i];
b[i] = b[j];
b[j] =temp;
}
}
}
}
423 Sp xp gi tr cc pt trong ma trn tng dn theo dng xon c (ma trn xon c)
#include <stdio.h>
#include <conio.h>
void NhapCotDong(int &cot,int &dong);
void NhapMangThayMaTran(int Mang[],int cot,int dong);
void XuatMangThayMaTran(int Mang[],int cot,int dong);
void SapXepMang1Chieu(int Mang[], int cot, int dong);
void ThietLapMaTranXoanOc(int Mang[],int MaTranXoanOc[][10], int cot, int dong);
void XuatMaTran(int a[][10], int cot,int dong);
void main()
{
int Mang[100];
int cot;
int dong;
NhapCotDong(cot,dong);
NhapMangThayMaTran(Mang,cot,dong); //Nh?p m?ng thay cho ma tr?n
printf("\n\tMa tran vua nhap vao: \n");
XuatMangThayMaTran(Mang,cot,dong);
//Xu?t m?ng theo ma tr?n
SapXepMang1Chieu(Mang,cot,dong);
//D t?ng v? tr trong ma tr?n theo d?ng xo?n ?c
int MaTranXoanOc[10][10];
ThietLapMaTranXoanOc(Mang,MaTranXoanOc,cot,dong);
int dem = 0;
int i=0, j=0;
int DauTien=0;
int Tru=0;
do
{
i=DauTien;
for (j=i; j< cot - Tru; j++)
{
MaTranXoanOc[i][j] = Mang[dem];
dem++;
}
j--;
for (i++; i< dong - Tru; i++ )
{
MaTranXoanOc[i][j] = Mang[dem];
dem++;
}
i--;
for (j--; j>=Tru; j--)
{
MaTranXoanOc[i][j] = Mang[dem];
dem++;
}
Tru++;
j++;
for (i--; i>=Tru; i--)
{
MaTranXoanOc[i][j] = Mang[dem];
dem++;
}
DauTien++;
} while (dem!=cot*dong);
}
void XuatMaTran(int a[][10], int cot,int dong)
{
printf("\t------------------------\n");
for (int i=0; i<dong; i++)
{
printf("\t");
for (int j=0; j<cot; j++)
{
printf("%4d", a[i][j]);
}
printf("\n");
}
printf("\t------------------------\n");
}
424 Sp xp cc pt theo hnh ziczac
#include <stdio.h>
#include <conio.h>
void NhapCotDong(int &cot,int &dong);
void NhapMangThayMaTran(int Mang[],int cot,int dong);
int temp;
for (int i=0;i <(cot*dong)-1; i++)
{
for (int j=i+1; j<(cot*dong); j++)
{
if(Mang[i]>Mang[j])
{
temp = Mang[i];
Mang[i]=Mang[j];
Mang[j]=temp;
}
}
}
}
void ThietLapMaTranZicZac(int Mang[],int MaTranZicZac[][10], int cot, int dong)
{
int dem = 0;
int i=0, j=0;
do
{
for (i; i<dong ; i++)
{
MaTranZicZac[i][j] = Mang[dem];
dem++;
}
j++;
i--;
if (dem == cot*dong)
{
return;
}
for (i; i>-1; i--)
{
MaTranZicZac[i][j] = Mang[dem];
dem++;
}
i++;
j++;
} while (dem != cot*dong);
}
void XuatMaTran(int a[][10], int cot,int dong)
{
printf("\t------------------------\n");
for (int i=0; i<dong; i++)
{
printf("\t");
for (int j=0; j<cot; j++)
{
printf("%4d", a[i][j]);
}
printf("\n");
}
printf("\t------------------------\n");
}
425 Xut cc gi tr m gim dn (ma trn ko thay i sau khi xut)
Xy dng ma trn
426 Cho ma trn A.Hy to ma trn B,B[i][j] = abs(A[i][j])
void XayDungB(int a[][10], int n, int m, int b[][10])
{
for (int i=0; i<n; i++)
{
for (int j=0; j<m; j++)
{
b[i][j] = abs(a[i][j]);
}
}
}
427 Cho ma trn A.Hy to ma trn B,B[i][j] = ln nht dng i,ct j ca A
int MaxTaiITaiJ(int a[][10], int n, int m,int i, int j)
{
int LonNhat = a[i][0];
for (int k = 1; k<m; k++)
LonNhat = (LonNhat < a[i][k])?a[i][k]:LonNhat;
for (k = 0; k<n; k++)
LonNhat = (LonNhat < a[k][j])?a[k][j]:LonNhat;
return LonNhat;
}
void XayDungB(int a[][10], int n, int m, int b[][10])
{
for (int i=0; i<n; i++)
{
for (int j=0; j<m; j++)
{
b[i][j] = MaxTaiITaiJ(a,n,m,i,j);
}
}
}
428 Cho ma trn A.Hy to ma trn B,B[i][j] = s lng pt dng xung quanh A[i][j]
void XayDungB(int a[][10], int cot, int dong, int b[][10])
{
int dx[8]={-1,-1,-1, 0, 0, 1, 1, 1};
int dy[8]={-1, 0, 1,-1, 1,-1, 0, 1};
for (int i=0; i<dong; i++)
{
for (int j=0; j< cot; j++)
{
for (int k=0; k<8; k++)
{
if ((0<=dx[k]+i && dx[k]+i<dong) && (0<=dy[k]+j && dy[k]+j < cot))
{
if (a[dx[k]+i][dy[k]+j]>0)
{
b[i][j]++;
}
}
}
}
}
}
s+=a[n-1][i];
if (a[i][0] %2 == 0) //C?t ??u 0
s+=a[i][0];
if (a[i][n-1] %2 == 0) //C?t cu?i n-1
s+=a[i][n-1];
}
return s;
}
K thut t lnh canh
443 Tm max trong ma trn tam gic trn
444 Tm min trong ma trn tam gic di
445 Tm max trn ng cho chnh
446 Tm max trn ng cho ph
447 Tm max nguyn t trong ma trn
int SoNguyenTo(int n)
{
if (n<=1)
{
return 0;
}
for (int i=2; i<n-1; i++)
{
if (n/i==0)
{
return 0;
}
}
return 1;
}
int SoNguyenToDauTien(int a[][10], int n)
{
for (int i=0; i<n;i++)
{
for (int j=0; j<n; j++)
{
if (SoNguyenTo(a[i][j])==1 )
{
return a[i][j];
}
}
}
return 0;
}
int SoNguyenToMax(int a[][10], int n)
{
int SoNguyenToLonNhat = SoNguyenToDauTien(a,n);
if (SoNguyenToLonNhat == 0)
{
return 0;
//ko co so nguyen to
}
for (int i=0; i<n;i++)
{
for (int j=0; j<n; j++)
{
if (SoNguyenTo(a[i][j])==1)
{
SoNguyenToLonNhat=(SoNguyenToLonNhat>a[i][j])?SoNguyenToLonNhat:a[i][j];
}
}
}
return SoNguyenToLonNhat;
}
448 Tm 2 gi tr gn nhau nht
void HaiGiaTriGanNhat(int a[][10], int n, int &X1, int &X2)
{
int KhoangCach = abs(a[0][0] - a[0][1]);
X1 = a[0][0]; //X1 va X2 la bien can tim
X2 = a[0][1];
int i;
int j;
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
if (i == n-1 && j == n-1)
{
break;
}
for (int k=i; k<n;k++)
{
for (int h=0; h<n; h++ )
{
if (k==i && h<=j)
{
continue;
}
if (KhoangCach > abs(a[i][j] - a[k][h]))
{
KhoangCach = abs(a[i][j] - a[k][h]);
X1 = a[i][j];
X2 = a[k][h];
}
}
}
}
}
}
449 * Cho ma trn vung A(n x n). Hy tm ma trn vung B(k x k) sao cho tng cc gi tr trn ma trn vung ny
l ln nht
K thut m
450 m s lng cp gi tr i xng nhau wa ng cho chnh
int DemCapGiaTriDoiXung(int a[][10], int n)
{
int dem = 0;
for (int i=1; i<n;i++)
for (int j=0; j<i; j++)
if (a[i][j]==a[j][i])
dem++;
return dem;
}
451 ??m s? l??ng dng gi?m
int KtraDongGiam(int a[], int n)
{
for (int i=0; i<n-1; i++)
{
if (a[i]<a[i+1])
{
return 0;
}
}
return 1;
}
int DemSoLuong(int a[][10], int n)
{
int dem = 0;
for (int i=0; i<n;i++)
{
if (KtraDongGiam(a[i],n)==1)
{
dem++;
}
}
return dem;
}
452 m pt cc i
int SoLuongPTuCucDai(int a[][10], int n)
{
int dem=0;
int di[8] = {-1,-1,-1,0,0,1,1,1};
int dj[8] = {-1,0,1,-1,1,-1,0,1};
for (int i=0; i<n;i++)
{
for (int j=0; j<n; j++)
{
int flag =1;
for (int k=0; k<8; k++)
{
if (i+di[k]>=0 && i+di[k]<=n-1 && j+dj[k]>=0 && j+dj[k]<=n-1)
{
if (a[i+di[k]][j+dj[k]]>a[i][j])
{
flag = 0;
break;
}
}
}
if (flag == 1)
{
dem++;
}
}
}
return dem;
}
453 m gi tr dng trn ng cho chnh
int SoLuongDuongCheoChinh(int a[][10], int n)
{
int dem=0;
for (int i=0; i<n;i++)
{
if (a[i][i]>0)
{
dem++;
}
}
return dem;
}
454 m s m trn ng cho ph
int SoLuongAm(int a[][10], int n)
{
int dem = 0;
for (int i=0; i<n;i++)
if (a[i][n-1-i]<0)
dem++;
return dem;
}
455 m s chn trong ma trn tam gic trn
K thut t c hiu
456 Ktra ng cho chnh c tng dn hay ko?
457 Ktra ma trn c i xng wa cho chnh ko?
458 ktra ma trn c i xng wa cho ph ko?
459 Ktra ma trn c phi l ma phng ko? Ma phng l khi tng pt trn cc dng, ct v 2 cho chnh ph bng
nhau
Sp xp
460 Sp cho chnh tng dn
461 Sp cho ph gim dn
462 Hon v 2 dng
463 Hon v 2 ct
464 sp cc dng tng dn theo tng dng
465 a chn v u ma trn vung
466 * Ma trn vung A(n x n) vi n >=3. Sp tam gic trn tng dn t trn xung di v t tri sang phi
467 * Ma trn vung A vi n>=3. Sp tam gic di gim dn t trn xung di v t tri sang phi
468 * Xy dng ma phng A
Cc php ton trn ma trn
469 Tng 2 ma trn
void Tong2MaTran(int a[][], int b[][], int c[][], int n, int m)
{
for (int i=0; i<n; i++)
{