Вставка элемента в массив - 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.
Объяснение кода листинга программы
- Объявление переменных:
- type mas=array[1..100] of integer; - объявление типа массива
- procedure vstavka(var a:mas;x,k,n:integer); - объявление процедуры вставки элемента
- var i:integer; - объявление переменной для цикла
- Определение размера массива и заполнение его значениями:
- var a:mas; - объявление переменной для массива
- n,x,k,i:integer; - объявление переменных для цикла и ввода данных
- Ввод данных:
- 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. - конец цикла вывода элементов массива и программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д