Сдвиг вправо через процедуры в массивах - Pascal ABC
Формулировка задачи:
Добрый вечер!
Помогите, пожалуйста!
Даны три целочисленных массива длиной n, m, l (заполняются случайными целыми числами). В первом массиве осуществить циклический сдвиг вправо на a позиций, во втором на b, в третьем на c.
Нужно сделать через процедуры
Заранее благодарю
Решение задачи: «Сдвиг вправо через процедуры в массивах»
textual
Листинг программы
type Mas = array[1..100] of integer; procedure sdvig (var t:mas;x:integer); var i,r:integer; begin r:=t[x]; for i:=x downto 2 do t[i]:=t[i-1]; t[1]:=r; end; procedure vvod(var t:mas;var x:integer;c:char); var i:integer; begin repeat writeln('Введите количество элементов массива ',c,' от 2 до 100'); readln(x); until x in [2..100]; for i:=1 to x do t[i]:= random(50); end; procedure vyvod(var t:mas;x:integer;s:string); var i:integer; begin writeln(s); for i:=1 to x do write(t[i]:4); writeln; end; var a,b,c:mas; n,m,l:integer; begin vvod(a,n,'A'); vyvod(a,n,'Исходный массив А'); sdvig(a,n); vyvod(a,n,'Массив А после сдвига'); vvod(b,m,'B'); vyvod(b,m,'Исходный массив B'); sdvig(b,m); vyvod(b,m,'Массив B после сдвига'); vvod(c,l,'C'); vyvod(c,l,'Исходный массив C'); sdvig(c,l); vyvod(c,l,'Массив C после сдвига'); end.
Объяснение кода листинга программы
- Создается тип Mas, который представляет собой массив целых чисел размером от 1 до 100.
- Создается процедура sdvig, которая принимает в качестве параметров переменную t (массив) и x (индекс элемента, с которого нужно начать сдвиг), и выполняет сдвиг элементов массива вправо. Внутри процедуры используются две переменные i и r для отслеживания текущего индекса и нового значения элемента соответственно.
- Создается процедура vvod, которая принимает в качестве параметров переменную t (массив), переменную x (количество элементов, которые нужно ввести) и символ c (тип элемента). Процедура повторяет запрос количества элементов и вводит случайные значения для каждого из указанных элементов.
- Создается процедура vyvod, которая принимает в качестве параметров переменную t (массив), x (количество элементов, которые нужно вывести) и строку s (текст, который нужно вывести). Процедура выводит значения элементов массива по указанному индексу.
- Создается переменная a, b и c, которые представляют собой массивы.
- Выполняется ввод исходных значений массивов a, b и c.
- Выполняется сдвиг элементов массива a на позицию n с помощью процедуры sdvig.
- Выполняется вывод исходного и после сдвига значений массива a.
- Выполняется ввод исходных значений массивов b и c.
- Выполняется сдвиг элементов массива b на позицию m с помощью процедуры sdvig.
- Выполняется вывод исходного и после сдвига значений массива b.
- Выполняется ввод исходных значений массива c.
- Выполняется сдвиг элементов массива c на позицию l с помощью процедуры sdvig.
- Выполняется вывод исходного и после сдвига значений массива c.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д