Tải bản đầy đủ (.doc) (4 trang)

Tài liệu Chương VII: Mảng nhiều chiều doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (61.33 KB, 4 trang )

Chương VII. Mảng nhiều chiều
I. Khai báo:
Kiểudl teenmatran[kt1][kt2];
Vd:
int a[10][10];
float b[10][10];
….
II. Truy nhập tới phần tử ma trận:
Ma trận a có kích thước mxn (0<m<=KT1, 0<n<=KT2), phần tử ma trận ở vị trí
hàng i, cột j có giá trị là a[i][j] (0<=i<m,0<=j<n).
III. Nhập/ xuất ma trận:
#include<stdio.h>
#include<conio.h>
void nhap(int M[10][10],int p,int q,char s[100]);
void xuat(int M[10][10],int p,int q,char s[100]);
//Tinh tong ma tran
void tong(int M[10][10],int p,int q);
//Tinh TBC cac so le
void TBC(int M[10][10],int p,int q);
//Tinh GTLN cua ma tran
void GTLN(int M[10][10],int p,int q);
//tim GTNN hang k, khong su dung toi so hang p
void GTNN(int M[10][10], int q,int k);
//Tinh GTTB cot l, => khong su dung toi so cot q
void GTTB(int M[10][10],int p,int l);
//tim GTLN duong cheo ma tran vuong
void GTLNdc(int M[10][10],int p);
void main(){
int a[10][10],m,n,k,b[10][10];
clrscr();
do{


printf(“m=”);scanf(“%d”,&m);
} while(m<=0||m>10);
do{
printf(“n=”);scanf(“%d”,&n);
}while(n<=0||n>10);

nhap(a,m,n,”A”);
xuat(a,m,n,”Mang vua nhap:”);
tong(a,m,n);
TBC(a,m,n);
GTLN(a,m,n);
//Nhap hang k de tim GTNN
do{
printf(“k=”);scanf(“%d”,&k);
}while(k<=0||k>m);

GTNN(a,n,k);
//Nhap cot l de tim GTTB
do{
printf(“l=”);scanf(“%d”,&l);
}while(l<=0||l>n);
GTTB(a,m,l);
//Nhap/xuat ma tran vuong
nhap(b,n,n,”B”);
xuat(b,n,n,”Ma tran vuong B:”);
GTLNdc(b,n);
//tongMT(a,b,c,m,n);
//xuat(c,m,n,”ma tran tong”);
getch();
}

void nhap(int M[10][10],int p,int q,char s[100]){
int temp;
for(int i=0;i<p;i++)
for(int j=0;j<q;j++)
{
printf(“%s[%d][%d]=”,s,i,j);
scanf(“%d”,&temp);
M[i][j]=temp;
}
}
void xuat(int M[10][10],int p,int q,char s[100]){
printf(“\n%s\n”,s);
for(int i=0;i<p;i++)
{
for(int j=0;j<q;j++)
printf(“%5d”,M[i][j]);
printf(“\n”);
}
}
void tong(int M[10][10],int p,int q){
int z=0;
for(int i=0;i<p;i++)
for(int j=0;j<q;j++)
z+=M[i][j];
printf(“\nTong la:%d”,z);
}
//Tinh trung binh cong cac so le trong ma traan
void TBC(int M[10][10],int p,int q){
int tl=0,dl=0;
for(int i=0;i<p;i++)

for(int j=0;j<q;j++)
if(M[i][j]%2!=0)
{ tl+=M[i][j]; dl++; }
if(dl==0) printf(“\nKo co so le trong ma tran”);
else printf(“TBC so le=%f”,(float)tl/dl);
}
//Tim GTLN cua ma tran
void GTLN(int M[10][10],int p,int q){
int z=M[0][0];
for(int i=0;i<p;i++)
for(int j=0;j<q;j++)
if(z<M[i][j]) z=M[i][j];
printf(“\nGTLN ma tran=%d”,z);
}
//Tim GTNN hang k ma tran, k nhap tu ban phim, 0<=k<m
void GTNN(int M[10][10], int q,int k){
int z=M[k][0];
for(int j=1;j<q;j++)
if(z>M[k][j]) z=M[k][j];
printf(“\nGTNN hang %d la:%d”,k,z);
}
//Tinh TBC so chan cot l ma tran (0<=l<n).\
//Tu lam
//Nhap 1 ma tran vuong nxn, hay tim GTLN cua duong cheo chinh
void GTLNdc(int M[10][10],int p){
int z=M[0][0];
for(int i=1;i<p;i++)
if(M[i][i]>z) z=M[i][i];
printf(“\nGTLN duong cheo chinh=%d”,z);
}

BTVN:
//Tong 2 ma tran C=A+B
void tongMT(int A[10][10],int B[10][10],int C[10][10],int p,int q);
//tinh tich 2 ma tran
//sap xep hang k ma tran theo chieu tang dan (0<k<=m), dua 2 MT ra
MH

×