Дан массив натуральных чисел заданных случайным образом из диапазона от 0 до 20 и число х из этого же диапазона. Длина массива равна N. Вставить число х после первого элемента кратного пяти
Helptorg
Найди Полякова учебник, там таких программ уйма, а переписывать это глупо
HRAshton
Const nmax=20; var a: array [1..nmax+1] of byte; n, j, i: byte; x: integer; begin repeat write('Количество элементов, не более ', nmax, ', n='); readln(n); until n in [1..nmax]; for i:=1 to n do a[i]:=random(21); writeln('Исходный массив'); for i:=1 to n do write(a[i]:4); writeln; i := 1; while (a[i] mod 5<>0) and (i<n) do inc(i); if (i<n) or ((i=n) and (a[i] mod 5=0)) then begin write('x='); readln(x); for j:=n downto i+1 do a[j+1]:=a[j]; a[i+1]:=x; inc(n); end else writeln('Нет элемента с заданными свойствами'); writeln('Преобразованный массив'); for i:=1 to n do write(a[i]:4); writeln; readln; end.
Answers & Comments
var a: array [1..nmax+1] of byte;
n, j, i: byte;
x: integer;
begin
repeat
write('Количество элементов, не более ', nmax, ', n=');
readln(n);
until n in [1..nmax];
for i:=1 to n do a[i]:=random(21);
writeln('Исходный массив');
for i:=1 to n do write(a[i]:4);
writeln;
i := 1;
while (a[i] mod 5<>0) and (i<n) do inc(i);
if (i<n) or ((i=n) and (a[i] mod 5=0)) then
begin
write('x=');
readln(x);
for j:=n downto i+1 do a[j+1]:=a[j];
a[i+1]:=x;
inc(n);
end
else
writeln('Нет элемента с заданными свойствами');
writeln('Преобразованный массив');
for i:=1 to n do write(a[i]:4);
writeln;
readln;
end.