Thứ Sáu, 28 tháng 1, 2011

Thuật toán nhập và in mảng 2 chiều dạng ma trận

Chương trình thực hiện nhập và in mảng 2 chiều dạng ma trận (m dòng, n cột)

1. Nhập

Để nhập các phần tử của mảng 2 chiều dạng ma trận, ta cần dùng các lệnh sau của unit CRT (nhớ phải có khai báo user crt ở đầu chương trình).

GotoXY(a,b): di chuyển con trỏ màn hình đến vị trí (a,b) trên màn hình (cột a, dòng b). Màn hình có 80 cột và 25 dòng.
whereX: hàm cho giá trị là vị trí cột của con trỏ màn hình.

whereY: hàm cho giá trị là vị trí dòng của con trỏ màn hình.

Khi nhập 1 phần tử ta dùng lệnh readln nên con trỏ màn hình sẽ xuống dòng, do đó cần quay lại dòng của bằng lệnh GotoXY(j * 10, whereY -1 ), nếu ta muốn mỗi phần tử của ma trận ứng với 10 cột màn hình.

procedure nhap;
var i,j : integer;
begin
clrscr;
write('Nhap m,n = ');
readln(m,n);
for i := 1 to m do begin
for j := 1 to n do begin
write('A[',i,',',j,']=');
readln(a[i,j]);
gotoXY(j*10,whereY-1);
end;
writeln;
end;
end;

2. In

Để in bảng dạng ma trận, với mỗi dòng ta sẽ in các phần tử trên 1 hàng rồi xuống dòng:

procedure inbang;
var i,j : integer;
begin
for i := 1 to m do begin
for j := 1 to n do
write(a[i,j]:6);
writeln;
end;
end;
Theo lập trình vn

0 nhận xét:

Đăng nhận xét