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

tiểu luận ma trận

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 (51.09 KB, 13 trang )

program 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


for 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]);


close(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



assign(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;


procedure 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]begin
tg:=a[i,j];
a[i,j]:=a[i,k];
a[i,k]:=tg;
end;


end;
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]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;



procedure 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


repeat
clrscr;
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;


writeln;
inmt(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;


procedure 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;


i,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 iwriteln;
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 iend;


writeln(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;


begin
clrscr;
ct6;
end.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×