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

Vietjack.me giới thiệu bộ câu hỏi ôn tập Tin học có đáp án được biên soạn bám sát chương trình học giúp bạn ôn luyện và bổ sung kiến thức môn Tin học tốt hơn. Mời các bạn đón xem:

1 273 24/07/2023


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

Đề bài: 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.

+ Đếm số lần xuất hiện giá trị 0 trong mảng.

+ Tìm giá trị lớn nhất trong mảng 2 chiều đã nhập vào.

Lời giải:

+ Khai báo kiểu dữ liệu mảng 2 chiều.

Type Mang2C = Array[1..10, 1..10] of Real;

+ Xây dựng thủ tục nhập dữ liệu cho mảng 2 chiều A với kích thước MxN. Lưu ý: các tham số: A (tên mảng), M, N (kích thước của mảng) đều được truyền theo dạng tham biến để lưu lại giá trị đã nhập sau khi thoát khỏi thủ tục.

Quá trình nhập dữ liệu cho mảng A, được thực hiện nhờ 2 vòng lặp lồng nhau: vòng lặp i, lặp cho chỉ số dòng; vòng lặp j, lặp cho chỉ số cột. Tại mỗi bước lặp, tiến hành đọc giá trị cho phần tử A[i,j].

+ Xây dựng thủ tục xuất dữ liệu mảng. Sử dụng 2 vòng lặp lồng nhau: vòng lặp i, lặp cho chỉ số dòng; vòng lặp j, lặp cho chỉ số cột. Tại mỗi bước lặp, tiến hành xuất giá trị A[i,j]. Tại cuối mỗi bước lặp dòng, tiến hành xuống dòng sau khi đã in các phần tử.

+ Quá trình đếm phần tử 0 trong mảng cũng như tìm giá trị lớn nhất trong mảng làg quá trình duyệt qua tất cả các phần tử A[i,j].

Sử dụng 2 vòng lặp lồng nhau: vòng lặp i cho chỉ số dòng; vòng lặp j cho chỉ số cột. Tại mỗi bước lặp, tiến hành kiểm tra giá trị A[i,j] và thực hiện thao tác tùy theo yêu cầu của bài toán: Đếm hay So sánh và tìm Max.

Source code chương trình

PROGRAM Mang_2C;

Uses CRT;

Type   Mang2C = Array[1..10, 1..10] of Real;

Var     A: Array2C;

            N, M: Integer;

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

Procedure NhapMang2C( Var A : Mang2C; Var M,N : Integer);

Var     i, j: Integer;

Begin

Repeat

Write(‘Nhap so hang N, so cot M: ‘);

Readln(N, M);

      Until ( N>0 ) and ( N<11 ) and ( M>0 ) and ( M<11 );

      For i:=1 to M do

For j:=1 to N do

Begin

Write(‘Nhập A[‘, i, ‘,’, j , ‘]: ‘);

Readln(A[i,j]);

End;

End;

1 273 24/07/2023


Xem thêm các chương trình khác: