Вставьте первый положительный элемент массива после максимального - Turbo Pascal
Формулировка задачи:
Создайте одномерный массив. Вставьте первый положительный элемент после
максимальным элементом через procedure
Решение задачи: «Вставьте первый положительный элемент массива после максимального»
textual
Листинг программы
program pr;
type
arr=array[1..100] of integer;
var
n,i:integer;
a:arr;
procedure fill(x:integer; var v:arr);
var
i:integer;
begin
for i:=1 to n do
begin
a[i]:=random(21)-10;
end;
end;
procedure show(var v:arr);
var
i:integer;
begin
for i:=1 to n do
write(a[i]:3);
end;
procedure ins(var v:arr);
var
j,i,max,q,imax,nl,z:integer;
begin
max:=0;
for i:=1 to n do
if a[i]>max then
begin
max:=a[i];
imax:=i;
end;
writeln;
writeln('Максимальный: ',max);
writeln;
for i:=n downto 1 do
if a[i]>0 then
a[imax+1]:=a[i];
writeln('Массив после:');
for i:=1 to n do
write(a[i],' ');
end;
begin
writeln('Введите размер массива');
readln(n);
fill(n,a);
show(a);
ins(a);
end.
Объяснение кода листинга программы
- Создается тип данных
arr, который представляет собой массив целых чисел размером от 1 до 100. - Создается переменная
n, которая представляет собой размер массива. - Создается переменная
a, которая представляет собой массив целых чисел. - Определяется процедура
fill, которая принимает на вход числоxи переменнуюvтипаarr. Внутри процедуры происходит заполнение массива случайными числами от -9 до 9 включительно. - Определяется процедура
show, которая принимает на вход переменнуюvтипаarr. Внутри процедуры происходит вывод содержимого массива на экран. - Определяется процедура
ins, которая принимает на вход переменнуюvтипаarr. Внутри процедуры происходит поиск максимального элемента в массиве, его замена на введенное пользователем число и вывод измененного массива на экран. - Выводится запрос на ввод размера массива.
- Заполняется массив случайными числами.
- Выводится содержимое массива на экран.
- Вызывается процедура
insдля изменения массива.