YOMEDIA
NONE

Nhập và in mảng 2 chiều dạng ma trận (m dòng, n cột).

Theo dõi Vi phạm
ATNETWORK

Trả lời (1)

  • Để 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]); {nhập xong thì xuống dòng}

             gotoXY(j*10,whereY-1); {di chuyển về dòng trước, vị trí tiếp theo}

          end;

          writeln; {nhập xong 1 hàng thì xuống dòng}

       end;

    end;

    Để in bảng dạng ma trận thì đơn giản hơ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         {viết các phần tử của hàng i }

          for j := 1 to n do write(a[i,j]:6);    {mỗi phần tử chiếm 6 ô để căn phải cho thẳng cột và không sít nhau}

          writeln;   {hết 1 hàng thì xuống dòng}

       end;

    end;

      bởi Lê Gia Bảo 30/11/2021
    Like (0) Báo cáo sai phạm

Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!

Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản

Gửi câu trả lời Hủy
 
NONE

Các câu hỏi mới

AANETWORK
 

 

YOMEDIA
ATNETWORK
ON