Составить процедуру/функцию, меняющую порядок элементов массива на четных местах на обратный - Pascal

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

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

Составить процедуру (или функцию), которая меняет порядок элементов массива, стоящих на четных местах, на обратный. Например, для исходного массива 1,2,3,4,5,6 результатом является 1,6,3,4,5,2. Следующие действия должны выполняться отдельными процедурами (и/или функциями): 1) заполнение массива случайными числами из заданного интервала; 2) вывод массива на экран; 3) заполнение массива нулями (инициализация); 4) сохранение массива в текстовый файл; 5) чтение массива из текстового файла; 6) удаление нескольких элементов из указанного места (со сдвигом); 7) добавление нескольких элементов в указанное место (со сдвигом). Процедуры (и/или функции) должны работать с массивами как с параметрами, но не как с глобальными переменными.

Решение задачи: «Составить процедуру/функцию, меняющую порядок элементов массива на четных местах на обратный»

textual
Листинг программы
procedure vRevAtEven(var v: array of Integer; n: Integer);
var i, t: Integer;
begin
  i:=1; n:=n-Ord(Odd(n))-1;
  while i<n do begin t:=v[i]; v[i]:=v[n]; v[n]:=t; Inc(i,2); Dec(n,2); end;
end;
procedure vRand(var v: array of Integer; n, a, b: Integer);
var i: Integer;
begin
  b:=b-a+1; for i:=0 to n-1 do v[i]:=a+Random(b);
end;
procedure vWrite(const v: array of Integer; n: Integer);
var i: Integer;
begin
  for i:=0 to n-1 do Write(' ',v[i]); WriteLn;
end;
const n=12;
var v: array [1..n] of Integer;
begin
  Randomize;
  vRand(v,n,0,99); vWrite(v,n);
  vRevAtEven(v,n); vWrite(v,n);
end.

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

Данный код представляет собой программу на языке Pascal, которая выполняет следующие действия:

  1. Создает массив из 12 элементов и заполняет его случайными числами от 0 до 99.
  2. Меняет порядок элементов массива на четных местах на обратный.
  3. Выводит содержимое массива в консоль. Процедура vRevAtEven выполняет следующие действия:
  4. Инициализирует две переменные: i и t. Переменная i используется для итерации по элементам массива, а переменная t используется для временного хранения значения элемента.
  5. Запускает цикл while, который выполняется до тех пор, пока i меньше n. Внутри цикла происходит следующее:
    • Значение элемента v[i] сохраняется в переменной t.
    • Значение элемента v[n] (на два индекса больше текущего) сохраняется в переменной v[i].
    • Значение элемента v[n] (на два индекса меньше текущего) сохраняется в переменной v[i].
    • Индекс i увеличивается на 2.
    • Индекс n уменьшается на 2.
  6. Возвращает значение переменной i. Процедура vRand выполняет следующие действия:
  7. Инициализирует одну переменную: i.
  8. Генерирует случайное число в диапазоне от 0 до b (включительно).
  9. Заполняет элемент массива v[i] случайным числом.
  10. Увеличивает значение переменной i на 1. Процедура vWrite выполняет следующие действия:
  11. Инициализирует одну переменную: i.
  12. Выводит пробел и каждый элемент массива v[i] в консоль.
  13. Выводит символ новой строки. Константа n равна 12. Для выполнения программы создается переменная v, которая представляет собой массив из 12 элементов. Программа сначала вызывает процедуру vRand, чтобы заполнить массив случайными числами. Затем она вызывает процедуру vRevAtEven, чтобы изменить порядок элементов на четных местах на обратный. Наконец, она выводит содержимое массива.

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


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

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

5   голосов , оценка 4.2 из 5
Похожие ответы