Вставка элемента в массив - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Написать процедуру вставки элемента в массив. Все элементы после него сдвигаются на один вправо, а последний элемент массива теряется.

Решение задачи: «Вставка элемента в массив»

textual
Листинг программы
type mas=array[1..100] of integer;
procedure vstavka(var a:mas;x,k,n:integer);
var i:integer;
begin
for i:=n downto k+1 do
a[i]:=a[i-1];
a[k]:=x;
end;
var a:mas;
    n,x,k,i:integer;
begin
repeat
write('Введите размер массива от 3 до 100 n=');
readln(n);
until n in [3..100];
randomize;
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=10+random(80);
  write(a[i]:4);
 end;
writeln;
write('Введите число для вставки x=');
readln(x);
repeat
write('Введите место вставки от 1 до ',n,' k=');
readln(k);
until k in [1..n];
vstavka(a,x,k,n);
writeln('Вставка элемента');
for i:=1 to n do
write(a[i]:4)
end.

Объяснение кода листинга программы

  1. Объявление переменных:
    • type mas=array[1..100] of integer; - объявление типа массива
    • procedure vstavka(var a:mas;x,k,n:integer); - объявление процедуры вставки элемента
    • var i:integer; - объявление переменной для цикла
  2. Определение размера массива и заполнение его значениями:
    • var a:mas; - объявление переменной для массива
    • n,x,k,i:integer; - объявление переменных для цикла и ввода данных
  3. Ввод данных:
    • repeat - начало цикла ввода данных
    • write('Введите размер массива от 3 до 100 n='); - вывод сообщения и ввод размера массива
    • readln(n); - считывание размера массива
    • until n in [3..100]; - условие выхода из цикла в случае некорректного ввода
    • randomize; - инициализация генератора случайных чисел
    • writeln('Исходный массив'); - вывод сообщения
    • for i:=1 to n do - начало цикла вывода элементов массива
    • begin - начало блока кода
    • a[i]:=10+random(80); - генерация случайного числа и присвоение его элементу массива
    • write(a[i]:4); - вывод значения элемента массива
    • end; - конец цикла вывода элементов массива
    • writeln; - вывод символа новой строки
    • write('Введите число для вставки x='); - вывод сообщения и ввод числа для вставки
    • readln(x); - считывание числа для вставки
    • repeat - начало цикла ввода данных
    • write('Введите место вставки от 1 до ',n,' k='); - вывод сообщения и ввод места вставки
    • readln(k); - считывание места вставки
    • until k in [1..n]; - условие выхода из цикла в случае некорректного ввода
  4. Вставка элемента:
    • vstavka(a,x,k,n); - вызов процедуры вставки элемента
  5. Вывод результата:
    • writeln('Вставка элемента'); - вывод сообщения
    • for i:=1 to n do - начало цикла вывода элементов массива
    • write(a[i]:4); - вывод значения элемента массива
    • end. - конец цикла вывода элементов массива и программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы