More Related Content
Similar to Mảng 2 chiều (10)
More from tienhien110293 (10)
Mảng 2 chiều
- 6. }
8. Viết hàm tìm vị trí phần tử chẳn cuối cùng trong mảng
void vtchancuoicung(int a[][100],int n,int m)
{
int i,j;
for( i=n1;i>=0;i)
{
for(j=m1;j>=0;j)
if(a[i][j]%2==0)
break;
break;
}
cout<<"dong thu "<<i<<" ,cot thu "<<j;
}
9. Viết hàm tìm phần tử âm lẻ và lớn nhất trong ma trận
int ptamle(int a[][100],int n,int m)
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if((a[i][j])<0 && (a[i][j])%2==1)
return a[i][j];
return 0;
}
int ptamlemax(int a[][100],int n,int m)
{
int max=ptamle(a,n,n);
if(max!=0)
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if(a[i][j]>max && a[i][j]<0 && a[i][j]%2==1 )
- 8. for(int i=1;i<n;i++)
if(a[i][i]>max)
max=a[i][i];
return max;
}
12. Viết hàm hoán vị 2 dòng, hoán vị 2 cột trong ma trận
void hoanvi(int &a,int &b)
{
int t=a;
a=b;
b=t;
}
void hoanvicot(int a[][100],int n,int m,int c1,int c2)
{
if((c1>=0 && c1<m)&&(c2>=0 && c2<m))
{
for(int i=0;i<n;i++)
hoanvi(a[i][c1],a[i][c2]);
}
xuat(a,n,m);
}
void hoanvidong(int a[][100],int n,int m,int d1,int d2)
{
if((d1>=0 &&d1<n) &&(d2>=0 && d2<n))
{
for(int j=0;j<m;j++)
hoanvi(a[d1][j],a[d2][j]);
}
xuat(a,n,m);
}
13. Viết hàm xóa một dòng, xóa một cột trong ma trận
void xoacot(int a[][100],int n,int &m,int c)
- 14. }
}
19.Viết hàm tính tích 2 ma trận
void Output_Matrix(int a[][100], int d, int c)
{
for(int i=0; i<d; i++)
{
for(int j=0; j<c; j++)
cout<<a[i][j]<<"t";
cout<<endl<<endl;
}
}
// A(m,n) x B(n,k) = C(m,k)
// A(da, ca) x B(db,cb) = C(da,cb)
void Tich_Matrix(int a[][100], int b[][100], int ab[][100], int da, int ca, int db,
int cb)
{
int i, j, k;
if(ca != db)
cout<<"Hai ma tran khong thoa tinh chat NHAN MA TRAN!";
else
{
cout<<"nnTich cua 2 Ma tran la: nn";
for(i=0; i<da; i++)
for(j=0; j<cb; j++)
ab[i][j]=0;
for(i=0; i<da; i++)
- 15. for(j=0; j<cb; j++)
for(k=0; k<ca; k++)
ab[i][j]+=a[i][k]*b[k][j];
Output_Matrix(ab, da, cb);
}
}
20.Viết hàm tính tổng 2 ma trận
void Output_Matrix(int a[][100], int d, int c)
{
for(int i=0; i<d; i++)
{
for(int j=0; j<c; j++)
cout<<a[i][j]<<"t";
cout<<endl<<endl;
}
}
void Sum_Matrix(int a[][100], int b[][100], int ab[][100], int da, int ca, int db,
int cb)
{
if(da != db || ca != cb)
cout<<"Hai ma tran khong thoa tinh chat cua CONG MA TRAN!";
else
{
cout<<"nnTong cua 2 Ma tran la: nn";
for(int i=0; i<da; i++)
for(int j=0; j<ca; j++)
ab[i][j]=a[i][j]+b[i][j];
Output_Matrix(ab, da, ca);
}
}
20.Tính tổng các phần tử trên biên ma trận
long tong_bien(int a[][100],int d,int c)
- 18. cout<<"Nhap dong: ";cin>>d;
cout<<"Nhap cot: ";cin>>c;
XuLy(a,d,c);
cout<<"Ma tran zigzag ngang la: nn";
Xuat(a,d,c);
}
21.Ma trận xoắn ốc theo chiều kim đồng hồ
#include <iostream>
using namespace std;
int a[100][100],d,c;
void TaoMaTran()
{
int trai=0,tren=0,phai=c,duoi=d,dem=0,soluong=c*d;
while(dem<soluong)
{
for(int i=trai;i<phai;i++)
if(dem<soluong)
a[tren][i]=dem++;
tren++;
for(int i=tren;i<duoi;i++)
if(dem<soluong)
a[i][phai1]=dem++;
phai;
for(int i=phai1;i>=trai;i)
if(dem<soluong)
a[duoi1][i]=dem++;
duoi;
for(int i=duoi1;i>=tren;i)
if(dem<soluong)
a[i][trai]=dem++;
trai++;
}