Nhap tu ban phim'; writeln'2.. Nhap tu File text'; writeln'3... Sap xep tang theo hang'; writeln'2.. procedure ct1;var a,b,c:km; n:kcs; begin repeat clrscr; writeln'CHUONG TRINH TINH TO
Trang 1program ma_tran;
uses crt;
type km=array[1 10,1 10] of integer; kcs=1 10;
var a:km;
n:kcs;
procedure nhapmt(ten:char; var a:km;n:kcs); var i,j:kcs;
begin
for i:=1 to n do
for j:=1 to n do
begin
write(ten,'[',i,j,']= ');
readln(a[i,j]);
end;
end;
procedure inmt(a:km;n:kcs);
var i,j:kcs;
begin
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:4);
writeln;
end;
end;
procedure luumt(a:km;n:kcs);
var i,j:kcs;
s:string;
f:text;
begin
write('Nhap ten File de luu: ');readln(s); assign(f,s);
rewrite(f);
for i:=1 to n do
begin
Trang 2for j:=1 to n do write(f,a[i,j]:4);
writeln(f);
end;
close(f);
write('Ma tran vua duoc luu voi ten la: ',s);
end;
procedure chonmt(var a:km;n:kcs);
var nhap,dau:1 3;
chon:1 10;
i,j:kcs;
f:text;
begin
writeln('Hay chon cach nhap ma tran');
writeln('1 Nhap tu ban phim');
writeln('2 Nhap tu File text');
writeln('3 Nhap ngau nhien');
write('Chon: '); readln(nhap);
case nhap of
1: nhapmt('A',a,n);
2: begin
write('Hay lua chon File ma tran 1 10'); readln(chon); case chon of
1: begin
assign(f,'mt1'); reset(f);
for i:=1 to n do
for j:=1 to n do read(f,a[i,j]);
close(f);
end;
2: begin
assign(f,'mt2'); reset(f);
for i:=1 to n do
for j:=1 to n do read(f,a[i,j]);
close(f);
end;
3: begin
assign(f,'mt3'); reset(f);
for i:=1 to n do
for j:=1 to n do read(f,a[i,j]);
Trang 3close(f);
end;
4: begin
assign(f,'mt4'); reset(f);
for i:=1 to n do
for j:=1 to n do read(f,a[i,j]); close(f);
end;
5: begin
assign(f,'mt5'); reset(f);
for i:=1 to n do
for j:=1 to n do read(f,a[i,j]); close(f);
end;
6: begin
assign(f,'mt6'); reset(f);
for i:=1 to n do
for j:=1 to n do read(f,a[i,j]); close(f);
end;
7: begin
assign(f,'mt7'); reset(f);
for i:=1 to n do
for j:=1 to n do read(f,a[i,j]); close(f);
end;
8: begin
assign(f,'mt8'); reset(f);
for i:=1 to n do
for j:=1 to n do read(f,a[i,j]); close(f);
end;
9: begin
assign(f,'mt9'); reset(f);
for i:=1 to n do
for j:=1 to n do read(f,a[i,j]); close(f);
end;
10: begin
Trang 4assign(f,'mt10'); reset(f);
for i:=1 to n do
for j:=1 to n do read(f,a[i,j]);
close(f);
end;
end;
end;
3: begin
randomize;
for i:=1 to n do
for j:=1 to n do
begin
dau:=random(3);
if dau=0 then a[i,j]:=(0-random(9)) else a[i,j]:=random(9);
end;
end;
end;
end;
procedure tongmt(a,b:km;var c:km;n:kcs);
var i,j:kcs;
begin
for i:=1 to n do
for j:=1 to n do
c[i,j]:=a[i,j]+b[i,j];
end;
procedure tichmt(a,b:km;var c:km;n:kcs);
var i,j,k:kcs;
begin
for i:=1 to n do
for k:=1 to n do
begin
c[i,k]:=0;
for j:=1 to n do c[i,k]:=a[i,j]*b[j,k]+c[i,k]; end;
end;
Trang 5procedure mtcv(a:km;var b:km;n:kcs); var i,j:kcs;
begin
for i:=1 to n do
for j:=1 to n do b[i,j]:=a[j,i];
end;
procedure sapxepmt(var a:km;n:kcs); var i,j,k:kcs;
chon:1 4;
tg:1 100;
begin
writeln('1 Sap xep tang theo hang'); writeln('2 Sap xep giam theo hang'); writeln('3 Sap xep tang theo cot'); writeln('4 Sap xep giam theo cot'); write('Chon: ');readln(chon);
case chon of
1: begin
for i:=1 to n do
for j:=1 to (n-1) do
for k:=j to n do
if a[i,j]>a[i,k] then
begin
tg:=a[i,j];
a[i,j]:=a[i,k];
a[i,k]:=tg;
end;
end;
2: begin
for i:=1 to n do
for j:=1 to (n-1) do
for k:=j to n do
if a[i,j]<a[i,k] then
begin
tg:=a[i,j];
a[i,j]:=a[i,k];
a[i,k]:=tg;
end;
Trang 6end;
3: begin
for i:=1 to (n-1) do
for j:=1 to n do
for k:=i to n do
if a[i,j]>a[k,j] then
begin
tg:=a[i,j];
a[i,j]:=a[k,j];
a[k,j]:=tg;
end;
end;
4: begin
for i:=1 to (n-1) do
for j:=1 to n do
for k:=i to n do
if a[i,j]<a[k,j] then
begin
tg:=a[i,j];
a[i,j]:=a[k,j];
a[k,j]:=tg;
end;
end;
end;
end;
procedure copymt(a:km;n:kcs;var b:km;m:kcs); var i,j,x,y:kcs;
begin
write('copy tu phan tu nao? a[');
repeat
readln(x,y);
if (m>(n-x+1)) or (m>(n-y+1)) then
write('Khong the copy tu phan tu nay! Nhap lai a['); until ((m<=(n-x+1)) or (m<=(n-y+1)));
for i:=1 to m do
for j:=1 to m do
b[i,j]:=a[i+x-1,j+y-1];
end;
Trang 7procedure ct1;
var a,b,c:km;
n:kcs;
begin
repeat
clrscr;
writeln('CHUONG TRINH TINH TONG 2 MA TRAN'); write('Chon cap cua ma tran: n= '); readln(n);
writeln('Chon ma tran thu nhat');
chonmt(a,n);
writeln;
writeln('Chon ma tran thu hai');
chonmt(b,n);
writeln('Hai ma tran vua nhap:');
inmt(a,n);
writeln;
writeln;
inmt(b,n);
write('Nhan phim ENTER de tinh tong 2 ma tran nay'); readln;
clrscr;
tongmt(a,b,c,n);
writeln('Tong 2 ma tran la:');
writeln;
inmt(c,n);
writeln;
write('Nhan phim ESC de quay lai menu');
until readkey=#27;
end;
procedure ct2;
var a,b,c:km;
n:kcs;
begin
Trang 8clrscr;
writeln('CHUONG TRINH TINH TICH 2 MA TRAN'); writeln;
write('Chon cap cua ma tran: n= '); readln(n);
writeln('Chon ma tran thu nhat');
chonmt(a,n);
writeln;
writeln('Chon ma tran thu hai');
chonmt(b,n);
writeln;
writeln('2 ma tran vua nhap la:');
inmt(a,n);
writeln;
writeln;
inmt(b,n);
write('Nhan phim ENTER de tinh tich 2 ma tran nay'); readln;
clrscr;
tichmt(a,b,c,n);
writeln('Tich 2 ma tran la:');
writeln;
inmt(c,n);
writeln;
write('Nhan phim ESC de quay lai menu');
until readkey=#27;
end;
procedure ct3;
var a,b:km;
n:kcs;
begin
repeat
clrscr;
writeln('CHUONG TRINH MA TRAN CHUYEN VI'); writeln;
write('Chon cap cua ma tran, n= '); readln(n);
writeln('Chon ma tran');
chonmt(a,n);
writeln;
writeln;
writeln('Ma tran vua nhap la:');
writeln;
Trang 9inmt(a,n);
writeln;
writeln;
mtcv(a,b,n);
writeln('Ma tran chuyen vi cua ma tran tren la:'); writeln;
writeln;
inmt(b,n);
writeln;
writeln;
write('Nhan phim ESC de quay lai menu');
until readkey=#27;
end;
procedure ct4;
var a:km;
n:kcs;
begin
repeat
clrscr;
writeln('CHUONG TRINH SAP XEP MA TRAN'); writeln;
writeln;
write('Chon cap cua ma tran, n= '); readln(n); writeln;
writeln('Hay chon ma tran');
chonmt(a,n);
writeln('Ma tran vua nhap la:');
writeln;
inmt(a,n);
write('Nhan phim ENTER de sap xep ma tran'); readln;
sapxepmt(a,n);
writeln;
writeln;
write('Ma tran da sap xep la:');
writeln;
inmt(a,n);
write('Nhan phim ESC de quay lai menu');
until readkey=#27;
end;
Trang 10procedure ct5;
var a,b:km;
n,m:kcs;
begin
repeat
clrscr;
writeln('CHUONG TRINH COPY MA TRAN'); writeln;
writeln;
write('Chon cap cua ma tran, n= '); readln(n); writeln;
writeln('Hay chon ma tran');
writeln;
chonmt(a,n);
writeln;
writeln('Ma tran vua nhap la:');
writeln;
inmt(a,n);
writeln;writeln;
write('Nhan phim ENTER de copy ma tran'); readln;
write('Chon cap cua ma tran con muon copy, m= '); repeat
readln(m);
if m>n then write('m phai <= ',n,' Nhap lai m= '); until m<=n;
writeln;
copymt(a,n,b,m);
writeln('Ma tran con vua duoc copy la:');
writeln;writeln;
inmt(b,m);
writeln;
writeln;
write('Nhan phim ESC de quay lai menu');
until readkey=#27;
end;
procedure ct6; {Ma tran tam giac}
var a:km;
Trang 11i,j,n:kcs;
chon:1 2;
s:string;
f:text;
begin
repeat
clrscr;
writeln('CHUONG TRINH MA TRAN TAM GIAC'); writeln;
write('Chon cap cua ma tran, n= ');readln(n);
writeln;writeln;
chonmt(a,n);
writeln;
writeln('Ma tran vua nhap la:');
writeln;writeln;
inmt(a,n);
writeln;
write('Nhan phim ENTER de sap xep ma tran tam giac'); readln;
writeln('1 Ma tran tam giac tren');
writeln('2 Ma tran tam giac duoi');
write('Chon '); readln(chon);
case chon of
1: begin
writeln('Ma tran tam giac tren:');
writeln;writeln;
for i:=1 to n do
begin
for j:=1 to n do
if i<j then write(a[i,j]:4) else write(' ');
writeln;
end;
write('Nhan phim l de luu ma tran nay');
if readkey=#108 then
begin
write('Nhap ten File muon luu: '); readln(s);
if length(s)<>0 then
begin
assign(f,s);
rewrite(f);
for i:=1 to n do
begin
for j:=1 to n do;
if i<j then write(f,a[i,j]) else write(f,s); end;
Trang 12writeln(f);
close(f);
end;
write('Ma tran da duoc luu voi ten: ',s); end;
end;
2: begin
writeln('Ma tran tam giac duoi:');
writeln;writeln;
for i:=1 to n do
begin
for j:=1 to n do
if i>j then write(a[i,j]:4) else write(' ');
writeln;
end;
write('Nhan phim l de luu ma tran nay');
if readkey=#108 then
begin
write('Nhap ten File muon luu: '); readln(s);
if length(s)<>0 then
begin
assign(f,s);
rewrite(f);
for i:=1 to n do
begin
for j:=1 to n do;
if i>j then write(f,a[i,j]) else write(f,s); end;
writeln(f);
close(f);
end;
write('Ma tran da duoc luu voi ten: ',s); end;
end;
end;
writeln;writeln;writeln;
write('Nhan phim ESC de quay lai menu');
until readkey=#27;
end;
Trang 13begin clrscr; ct6; end