Дан двумерный массив. Проверить, есть ли в нем одинаковые элементы. Помогите, пожалуйста, написать программу в паскале
Answers & Comments
crypto
Program arr; Const n=3; var i, j, tmp, k, z:integer; c:boolean; a:array [1..n,1..n] of integer;
begin c:=false; for i:=1 to n do for j:=1 to n do read(a[i][j]); for i:=1 to n do for j:=1 to n do begin tmp:=a[i][j]; for k:=i+1 to n do for z:=j+1 to n do if tmp = a[k][z] then c:=true; end; writeln; for i:=1 to n do begin for j:=1 to n do write(a[i][j], ' '); writeln; end; if c = true then writeln('В данном массиве есть равные друг другу элементы') else writeln('Элементы, равные друг другу, отсутсвуют в данном массиве'); end.
1 votes Thanks 2
crypto
Извините, исправил проблему, с нераспознаванием двух соседних элементов:
crypto
...for k:=i+1 to n-1 do for z:=j+1 to n-1 do if (tmp = a[k][z]) or (tmp = a[i][j]) then...
Answers & Comments
Const n=3;
var i, j, tmp, k, z:integer;
c:boolean;
a:array [1..n,1..n] of integer;
begin
c:=false;
for i:=1 to n do
for j:=1 to n do
read(a[i][j]);
for i:=1 to n do
for j:=1 to n do
begin
tmp:=a[i][j];
for k:=i+1 to n do
for z:=j+1 to n do
if tmp = a[k][z] then
c:=true;
end;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i][j], ' ');
writeln;
end;
if c = true then
writeln('В данном массиве есть равные друг другу элементы')
else writeln('Элементы, равные друг другу, отсутсвуют в данном массиве');
end.