Hướng dẫn ma trận pascal

Viết chương trình thao tác trên ma trận vuông với các yêu cầu:

+ Nhập xuất ma trận vuông.

+ Tính tổng các phần tử trên đường chéo chính.

+ Kiểm tra tính đối xứng của ma trận vuông qua dường chéo chính.

Hướng dẫn:

+ Ma trận vuông là mảng 2 chiều nhưng có kích thước dòng bằng kích thước cột. Tức là, M=N, khi dó kích thước của ma trận là NxN.

+ Đường chéo chính là các phần tử A[i, j] có i = j [ hay A[i, i] ].

Source code các hàm xây dựng

Quá trinh định nghĩa dữ liệu mảng có thể sử dụng lại bài 4.1.

{ 1. Thu tục nhap mang 2 chieu }
Procedure NhapMtran[ Var A : Mang2C; Var N : Integer];
Var     i, j: Integer;
Begin
Repeat
Write[‘Nhap kich thuoc N: ‘];
Readln[ N ];
      Until [ N>0 ] and [ N0 ] and [ N0 ] and [ M Max] Then Max :=
A[i,j];

TimPtuMax : = Max;

End;

{ 5. Than chuong trinh chinh    }

BEGIN

Writeln[ ‘Nhap mang 2 chieu:’];         NhapMang2C [A, M, N ];

Writeln[ ‘Mang da nhap la:’];             XuatMang2C [A, M, N ];

Writeln[ ‘So lan xuat hien 0 trong mang :’, DemPtu0 [ A, M, N] ];

Writeln[ ‘Gia tri lon nhat trong mang :’, TimPtuMax[ A, M, N] ];

Readln;

END.

   

Bài toán số 4.2:Viết chương trình thao tác trên mảng 2 chiều với các công việc sau:

+ Nhập xuất mảng 2 chiều.

+ Tính tổng các phần tử theo từng dòng của mảng.

+ Tìm dòng có tổng giá trị lớn nhất.

Hướng dẫn:

+ Đối với mỗi vòng lặp theo dòng, tiến hành tính tổng cho các phần tử trên dòng. Áp dụng như tính tổng cho mảng một chiều.

+ Vừa tính tổng vừa tiến hành so sánh và lưu lại giá trị lớn nhất.

Source code các hàm xây dựng

{ 1. Thu tuc tinh & in tong cac phan tu tren dong cua mang 2 chieu }

Procedure TongCacDong[ A : Mang2C; M,N : Integer];

Var     i, j: Integer;

            S : Real;

Begin

      For i:=1 to M do

      Begin

            S := 0;

For j :=1 to N do

S := S + A[i, j];

                  Writeln[ ‘Tong dong ‘, i ,’ la ‘, S];

            End;

End;

 

{ 2. Thu tuc tim tong lon nhat cua cac phan tu tren dong cua mang 2 chieu }

Function MaxTgDong[A:Mang2C; M,N:Integer] : Real;

Var     i, j, k: Integer;

            Value , S : Real;

Begin

      For i:=1 to M do

      Begin

            S := 0;

For j :=1 to N do

S := S + A[i, j];

                  If [S > Value] Then

Begin

      Value := S;

      K := i;

End;

            End;

            MaxTgDong := Value;

End;

 

{ 3. Than chuong trinh chinh    }

BEGIN

            {  Nhung ham nhap xuat da de cap o Bai so 4.1, xem chi tiet o tren             }

Writeln[ ‘Nhap mang 2 chieu:’];         NhapMang2C [A, M, N ];

Writeln[ ‘Mang da nhap la:’];             XuatMang2C [A, M, N ];

Writeln[ ‘Tong cac phan tu theo dong la:’ ];

TongCacDong[ A , M, N ];

Writeln[ ‘Gia tri lon nhat cua cac tong:’, MaxTgDong [ A, M, N] ];

Readln;

END.

Bài toán số 4.3: Viết chương trình thao tác trên ma trận vuông với các yêu cầu:

+ Nhập xuất ma trận vuông.

+ Tính tổng các phần tử trên đường chéo chính.

+ Kiểm tra tính đối xứng của ma trận vuông qua dường chéo chính.

Hướng dẫn:

+ Ma trận vuông là mảng 2 chiều nhưng có kích thước dòng bằng kích thước cột. Tức là, M=N, khi dó kích thước của ma trận là NxN.

+ Đường chéo chính là các phần tử A[i, j] có i = j [ hay A[i, i] ].

 

Source code các hàm xây dựng

      Quá trinh định nghĩa dữ liệu mảng có thể sử dụng lại bài 4.1.

 

{ 1. Thu tục nhap mang 2 chieu }

Procedure NhapMtran[ Var A : Mang2C; Var N : Integer];

Var     i, j: Integer;

Begin

Repeat

Write[‘Nhap kich thuoc N: ‘];

Readln[ N ];

      Until [ N>0 ] and [ N

Bài Viết Liên Quan

Chủ Đề