Ma trận điều hoà ( viết bằng Pascal)
Chia sẻ bởi Lương Văn Giang |
Ngày 16/10/2018 |
54
Chia sẻ tài liệu: Ma trận điều hoà ( viết bằng Pascal) thuộc Tư liệu tham khảo
Nội dung tài liệu:
Chương trình mẫu ma trận điều hoà chạy tự động trên máy tính viết bằng Pascal
( các bạn có thể chuyển sang ngôn ngữ khác có giao diện đẹp hơn )
Program Matran_dieuhoa;
Uses Crt;
Const L=100;
Var a: Array[1..L,1..L] of Integer;
hang, cot: Array[1..L] of Real;
i, j, k,m, n: 1..L;
tam: Integer; tong: Real;
{---------------------------------------------------------------}
Procedure Nhap_matran;
Begin
For j:=1 to n do begin
tam:=(j-1)*n;
For i:=1 to n do a[i,j]:=i+tam;
end;
End; {Nhap_matran}
{---------------------------------------------------------------}
Procedure Xoay_1; {n=3,7,11,…}
Begin
For i:=1 to (k-1) do begin
tam:=a[i,i];
a[i,i]:=a[i,k];
a[i,k]:=a[n+1-i,i];
a[n+1-i,i]:=a[k,i];
a[k,i]:=a[n+1-i,n+1-i];
a[n+1-i,n+1-i]:= a[n+1-i,k];
a[n+1-i,k]:=a[i,n+1-i];
a[i,n+1-i]:= a[k,n+1-i];
a[k,n+1-i]:=tam;
end;
End; {Xoay_1}
{---------------------------------------------------------------}
Procedure Xoay_2; {n=5,9,1,…}
Begin
For i:=1 to (k-1) do begin
tam:=a[i,i];
a[i,i]:=a[i,k];
a[i,k]:=a[i,n+1-i];
a[i,n+1-i]:=a[k,i];
a[k,i]:=a[n+1-i,n+1-i];
a[n+1-i,n+1-i]:= a[n+1-i,k];
a[n+1-i,k]:=a[n+1-i,i];
a[n+1-i,i]:= a[k,n+1-i];
a[k,n+1-i]:=tam;
end;
End; {Xoay_2}
{---------------------------------------------------------------}
Procedure Xoay_3; {n=4,6,8,…}
Begin
For i:=1 to k do begin
tam:=a[i,i];
a[i,i]:=a[n+1-i,n+1-i];
a[n+1-i,n+1-i]:= tam;
tam:=a[n+1-i,i];
a[n+1-i,i]:= a[i,n+1-i];
a[i,n+1-i]:=tam;
end;
End; {Xoay_3}
{---------------------------------------------------------------}
Procedure Hoanvi_ngang(m: Integer);
Begin
For i:=1 to m do
For j:=1 to (m+1-i) do begin
tam:=a[i,k+j];
a[i,k+j]:= a[i,n+1-k-j];
a[i,n+1-k-j]:=tam;
tam:=a[n+1-i,k+j];
a[n+1-i,k+j]:= a[n+1-i,n+1-k-j];
a[n+1-i,n+1-k-j]:=tam;
end;
If m>1 then for i:=2 to m do
For j:=1 to (i-1) do begin
tam:=a[i,j];
a[i,j]:=a[i,n+1-j];
a[i,n+1-j]:= tam;
tam:=a[n+1-i,j];
a[n+1-i,j]:= a[n+1-i,n+1-j];
a[n+1
( các bạn có thể chuyển sang ngôn ngữ khác có giao diện đẹp hơn )
Program Matran_dieuhoa;
Uses Crt;
Const L=100;
Var a: Array[1..L,1..L] of Integer;
hang, cot: Array[1..L] of Real;
i, j, k,m, n: 1..L;
tam: Integer; tong: Real;
{---------------------------------------------------------------}
Procedure Nhap_matran;
Begin
For j:=1 to n do begin
tam:=(j-1)*n;
For i:=1 to n do a[i,j]:=i+tam;
end;
End; {Nhap_matran}
{---------------------------------------------------------------}
Procedure Xoay_1; {n=3,7,11,…}
Begin
For i:=1 to (k-1) do begin
tam:=a[i,i];
a[i,i]:=a[i,k];
a[i,k]:=a[n+1-i,i];
a[n+1-i,i]:=a[k,i];
a[k,i]:=a[n+1-i,n+1-i];
a[n+1-i,n+1-i]:= a[n+1-i,k];
a[n+1-i,k]:=a[i,n+1-i];
a[i,n+1-i]:= a[k,n+1-i];
a[k,n+1-i]:=tam;
end;
End; {Xoay_1}
{---------------------------------------------------------------}
Procedure Xoay_2; {n=5,9,1,…}
Begin
For i:=1 to (k-1) do begin
tam:=a[i,i];
a[i,i]:=a[i,k];
a[i,k]:=a[i,n+1-i];
a[i,n+1-i]:=a[k,i];
a[k,i]:=a[n+1-i,n+1-i];
a[n+1-i,n+1-i]:= a[n+1-i,k];
a[n+1-i,k]:=a[n+1-i,i];
a[n+1-i,i]:= a[k,n+1-i];
a[k,n+1-i]:=tam;
end;
End; {Xoay_2}
{---------------------------------------------------------------}
Procedure Xoay_3; {n=4,6,8,…}
Begin
For i:=1 to k do begin
tam:=a[i,i];
a[i,i]:=a[n+1-i,n+1-i];
a[n+1-i,n+1-i]:= tam;
tam:=a[n+1-i,i];
a[n+1-i,i]:= a[i,n+1-i];
a[i,n+1-i]:=tam;
end;
End; {Xoay_3}
{---------------------------------------------------------------}
Procedure Hoanvi_ngang(m: Integer);
Begin
For i:=1 to m do
For j:=1 to (m+1-i) do begin
tam:=a[i,k+j];
a[i,k+j]:= a[i,n+1-k-j];
a[i,n+1-k-j]:=tam;
tam:=a[n+1-i,k+j];
a[n+1-i,k+j]:= a[n+1-i,n+1-k-j];
a[n+1-i,n+1-k-j]:=tam;
end;
If m>1 then for i:=2 to m do
For j:=1 to (i-1) do begin
tam:=a[i,j];
a[i,j]:=a[i,n+1-j];
a[i,n+1-j]:= tam;
tam:=a[n+1-i,j];
a[n+1-i,j]:= a[n+1-i,n+1-j];
a[n+1
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Lương Văn Giang
Dung lượng: 61,50KB|
Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)