Сдвиг вправо через процедуры в массивах - Pascal ABC

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

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

Добрый вечер! Помогите, пожалуйста! Даны три целочисленных массива длиной n, m, l (заполняются случайными целыми числами). В первом массиве осуществить циклический сдвиг вправо на a позиций, во втором на b, в третьем на c. Нужно сделать через процедуры Заранее благодарю

Решение задачи: «Сдвиг вправо через процедуры в массивах»

textual
Листинг программы
  1. type Mas = array[1..100] of integer;
  2. procedure sdvig (var t:mas;x:integer);
  3. var i,r:integer;
  4. begin
  5. r:=t[x];
  6. for i:=x downto 2 do
  7. t[i]:=t[i-1];
  8. t[1]:=r;
  9. end;
  10.  
  11. procedure vvod(var t:mas;var x:integer;c:char);
  12. var i:integer;
  13. begin
  14. repeat
  15. writeln('Введите количество элементов массива ',c,' от 2 до 100');
  16. readln(x);
  17. until x in [2..100];
  18. for i:=1 to x do
  19. t[i]:= random(50);
  20. end;
  21.  
  22. procedure vyvod(var t:mas;x:integer;s:string);
  23. var i:integer;
  24. begin
  25. writeln(s);
  26. for i:=1 to x do
  27. write(t[i]:4);
  28. writeln;
  29. end;
  30.  
  31. var a,b,c:mas;
  32.     n,m,l:integer;
  33. begin
  34. vvod(a,n,'A');
  35. vyvod(a,n,'Исходный массив А');
  36. sdvig(a,n);
  37. vyvod(a,n,'Массив А после сдвига');
  38. vvod(b,m,'B');
  39. vyvod(b,m,'Исходный массив B');
  40. sdvig(b,m);
  41. vyvod(b,m,'Массив B после сдвига');
  42. vvod(c,l,'C');
  43. vyvod(c,l,'Исходный массив C');
  44. sdvig(c,l);
  45. vyvod(c,l,'Массив C после сдвига');
  46. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут