Сдвиг вправо через процедуры в массивах - 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.

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

  1. Создается тип Mas, который представляет собой массив целых чисел размером от 1 до 100.
  2. Создается процедура sdvig, которая принимает в качестве параметров переменную t (массив) и x (индекс элемента, с которого нужно начать сдвиг), и выполняет сдвиг элементов массива вправо. Внутри процедуры используются две переменные i и r для отслеживания текущего индекса и нового значения элемента соответственно.
  3. Создается процедура vvod, которая принимает в качестве параметров переменную t (массив), переменную x (количество элементов, которые нужно ввести) и символ c (тип элемента). Процедура повторяет запрос количества элементов и вводит случайные значения для каждого из указанных элементов.
  4. Создается процедура vyvod, которая принимает в качестве параметров переменную t (массив), x (количество элементов, которые нужно вывести) и строку s (текст, который нужно вывести). Процедура выводит значения элементов массива по указанному индексу.
  5. Создается переменная a, b и c, которые представляют собой массивы.
  6. Выполняется ввод исходных значений массивов a, b и c.
  7. Выполняется сдвиг элементов массива a на позицию n с помощью процедуры sdvig.
  8. Выполняется вывод исходного и после сдвига значений массива a.
  9. Выполняется ввод исходных значений массивов b и c.
  10. Выполняется сдвиг элементов массива b на позицию m с помощью процедуры sdvig.
  11. Выполняется вывод исходного и после сдвига значений массива b.
  12. Выполняется ввод исходных значений массива c.
  13. Выполняется сдвиг элементов массива c на позицию l с помощью процедуры sdvig.
  14. Выполняется вывод исходного и после сдвига значений массива c.
  15. Программа завершается.

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


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

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

8   голосов , оценка 3.75 из 5