• Khung trình chiếu

Bài tập: In ra số lớn nhất trong các tổng từng cột, từng hàng dùng mảng 2 chiều

Các mã nguồn được viết bằng ngôn ngữ Pascal
Gửi hồi đáp
Ảnh đại diện người dùng
huynhbuutam
Nhà sáng lập
Nhà sáng lập
Các bài viết: 112
Đã gia nhập lúc: T3 31 Th8, 2021 22:04
Địa điểm: Trường THCS Châu Lăng
Tên thật: Huỳnh Bửu Tâm

Bài tập: In ra số lớn nhất trong các tổng từng cột, từng hàng dùng mảng 2 chiều

Bài viết bởi huynhbuutam »

Cho lưới ô vuông NxN (N hàng, N cột), mỗi ô vuông chứa giá trị là một số nguyên dương.
Viết chương trình theo các điều kiện sau:
1. Yêu cầu người sử dụng nhập giá trị cho lưới ô vuông trên.
2. Tính tổng các số trên mỗi cột.
3. Tính tổng các số trên mỗi dòng.
4. Tìm số lớn nhất trong các tổng ở trên, in kết quả ra màn hình.
Ví dụ:

Mã: Chọn tất cả

                                  Tổng
         1    2    3    4    5     15
         6    7    8    9    10    40
         11   12   13   14   15    65
         16   17   18   19   20    90
         21   22   23   24   25    115
Tổng     55   60   65   70   75
Giá trị lớn nhất tìm được là: 115
Chương trình ví dụ:

Mã: Chọn tất cả

Moi ban nhap vao so N: 5
Moi ban nhap lan luot cac so hang 1: 1 2 3 4 5
Moi ban nhap lan luot cac so hang 2: 6 7 8 9 10
Moi ban nhap lan luot cac so hang 3: 11 12 13 14 15
Moi ban nhap lan luot cac so hang 4: 16 17 18 19 20
Moi ban nhap lan luot cac so hang 5: 21 22 23 24 25
Gia tri lon nhat tim duoc la: 115
Mã nguồn:

Mã: Chọn tất cả

Uses Crt;
Var N, i, j, Max : Integer;
	M : Array[1..100, 1..100] Of Integer;
	Ok : Boolean;
Begin
	ClrScr;
	N := 0;
	While ((N < 2) Or (N > 10)) Do
		Begin
			Write('Moi ban nhap vao so N: ');
			ReadLn(N);
		End;
	For i := 1 To N Do
		Begin
			Ok := False;
			While (Not Ok) Do
				Begin
					Write('Moi ban nhap lan luot cac so hang ', i, ': ');
					For j := 1 To N Do Read(M[i, j]);
					ReadLn;
					Ok := True;
					For j := 1 To N Do
						If (M[i, j] < 0) Then Begin Ok := False; Break; End;
				End;
		End;
	For i := 1 To N Do M[N+1, j] := 0;
	For i := 1 To N Do
		Begin
			M[i, N+1] := 0;
			For j := 1 To N Do
				Begin
					M[i, N+1] := M[i, N+1] + M[i, j];
					M[N+1, j] := M[N+1, j] + M[i, j];
				End;
		End;
	Max := M[N+1, 1];
	For i := 2 To N Do
		If (M[N+1, i] > Max) Then Max := M[N+1, i];
	For i := 1 To N Do
		If (M[i, N+1] > Max) Then Max := M[i, N+1];
	Write('Gia tri lon nhat tim duoc la: ', Max);
	ReadLn;
End.
Gửi hồi đáp
  • Similar Topics
    Các hồi đáp
    Lượt xem
    Bài viết cuối