Предмет: Информатика,
автор: fktrcfylh125465
Пассскалььь
Заполните массив случайными числами. Определить есть ли в нём элементы с одинаковыми значениями, не обязательно стоящие рядом.
пример
массив:
3 2 1 3 2 5
есть:3,2
пример
массив:
3 2 1 4 0 5
нет
Ответы
Автор ответа:
0
var ar: array[1..10000]of integer;
ms: array[1..10000]of integer;
i, c, n, j, p: integer; b: boolean;
begin
randomize;
b := true;
c := 1;
write('Введите количество элементов массива:');
read(n);
writeln('Массив:');
for i := 1 to n do ms[i] := -2147483648;
for i := 1 to n do begin ar[i] := random(11); write(ar[i], ' '); end;
for i := 1 to n do
for j := i + 1 to n do
begin
if (ar[i] = ar[j]) then
begin
for p := 1 to c do
if (ar[i] = ms[p]) then b := false;
if (b = true) then begin ms[c] := ar[i]; c := c + 1; end;
end;
b := true;
end;
writeln;
if (c = 1) then write('Нет')
else
begin
write('Есть:');
for i := 1 to c - 1 do if(i <> c - 1) then write(ms[i], ',') else write(ms[i]);
end;
end.
ms: array[1..10000]of integer;
i, c, n, j, p: integer; b: boolean;
begin
randomize;
b := true;
c := 1;
write('Введите количество элементов массива:');
read(n);
writeln('Массив:');
for i := 1 to n do ms[i] := -2147483648;
for i := 1 to n do begin ar[i] := random(11); write(ar[i], ' '); end;
for i := 1 to n do
for j := i + 1 to n do
begin
if (ar[i] = ar[j]) then
begin
for p := 1 to c do
if (ar[i] = ms[p]) then b := false;
if (b = true) then begin ms[c] := ar[i]; c := c + 1; end;
end;
b := true;
end;
writeln;
if (c = 1) then write('Нет')
else
begin
write('Есть:');
for i := 1 to c - 1 do if(i <> c - 1) then write(ms[i], ',') else write(ms[i]);
end;
end.
Похожие вопросы
Предмет: Химия,
автор: marickabulavuk
Предмет: Биология,
автор: su4ka01
Предмет: Окружающий мир,
автор: Аноним
Предмет: Литература,
автор: galeevrauf
Предмет: История,
автор: Аноним