Среди оставшихся продублировать числа, содержащие цифру 5.
program PascalGuru;
uses crt;
label 1, 2;
var
A: array [1 .. 10000] of integer;
i, j, l, n, temp, ins: integer;
s: string;
b: boolean;
begin
write('N= ');
readln(n);
writeln('Vvedite elementy massiva A: ');
for j := 1 to n do
begin
write('A[', j, ']=');
readln(A[j]);
end;
clrscr;
writeln('Vot vvedennyi vami massiv A: ');
for j := 1 to n do
write(A[j]:4, ' ');
{ Удалить из последовательности числа, содержащие хотя бы пару одинаковых цифр }
1:
for j := 1 to n do
begin
str(A[j], s);
b := false;
for i := 1 to length(s) do
for l := 1 to length(s) do
if i <> l then
if s[i] = s[l] then
b := true;
if not b then
continue;
For i := j + 1 to n do
A[i - 1] := A[i];
dec(n);
goto 1;
end;
{ ---конец удаления--- }
{ продублировать числа, содержащие цифру 5 }
ins := 1;
2:
for j := ins to n do
begin
str(A[j], s);
if pos('5', s) = 0 then
continue;
temp := A[j];
For i := n downto j + 1 do
A[i + 1] := A[i];
A[j + 1] := temp;
inc(n);
ins := j + 2;
goto 2;
end;
{ ---конец дублирования--- }
writeln;
writeln;
writeln('Vot obnovlennyi massiv A: ');
for j := 1 to n do
write(A[j]:4, ' ');
readln;