Tin học Viết chương trình tìm điểm cực đại của ma trận

Trâm Nguyễn Thị Ngọc

Giải Nhất event Thế giới Sinh học 2
Thành viên
13 Tháng mười 2018
1,523
1,339
241
19
Quảng Trị
Trường TH&THCS Hải Ba
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Viết chương trình tìm điểm cực đại của ma trận( mảng 2 chiều ) dương. Một điểm gọi là điểm cực đại nếu nó lớn hơn hoặc bằng các phần tử kề nó. Nếu có 2 hoặc nhiều điểm cực đại ở kề nhau thì chỉ tính một điểm . Hãy đếm xem trong mảng A(mxn) dương có bao nhiêu điểm cực đại
VD: m=3; n=5
3 4 5 2 3
5 9 3 2 4 9;4 là điểm cực đại
3 7 8 1 1 Các phần tử màu đỏ là các phần tử xung quanh số 9
Code:

var
a:array[1..100,1..100] of integer;

Begin
readln(m);readln(n);
for i:=1 to m do
for j:=1 to n do
readln(a[i,j]);
for i:=0 to m+1 do
for j:=0 to n+1 do
if (i=0) and (j=0) or (i=m+1) or (j=n+1) then a[i,j]:=0;​
{vòng lặp này để gán một vòng xung quanh nó bằng 0 để các phần tử ngoài viền so sánh giống các phần
tử khác
0 0 0 0 0 0 0
0 3 4 5 2 3 0
0 5 9 3 2 4 0
0 3 7 8 1 1 0
0 0 0 0 0 0 0 }
for i:=1 to m do
for j:=1 to n do
if (a[i,j]>=a[i-1,j]) and (a[i,j]>=a[i-1,j+1])
and (a[i,j]>=a[i,j+1]) and (a[i,j]>=a[i+1,j+1])
and (a[i,j]>=a[i+1,j]) and (a[i,j]>=a[i+1,j-1])
and (a[i,j]>=a[i,j-1]) and (a[i,j]>=a[i-1,j-1])
then ?
Ai giúp mình làm đoạn cuối với( Nếu có 2 hoặc nhiều điểm cực đại ở kề nhau thì chỉ đếm một điểm )
 
Top Bottom