Сдвиг вправо через процедуры в массивах - 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.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д