Составить процедуру (или функцию), которая меняет порядок элементов массива - PascalABC.NET

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

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

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

Решение задачи: «Составить процедуру (или функцию), которая меняет порядок элементов массива»

textual
Листинг программы
const
  n = 11;
 
var
  a: array[1..n] of integer;
  i, c, k: integer;
  f: text;
 
procedure back;
var
  i: integer;
begin
  if n mod 2 = 0 then k := 2 else k := 1;
  for i := 1 to n div 2 do
    if i mod 2 = 0 then
    begin                                      //числа на четных позициях меняются местами
      c := a[i];                               
      a[i] := a[n - i + k];
      a[n - i + k] := c;
    end;
end;
 
procedure fileout;
var
  i: integer;
begin
  assign(f, 'Fileout.txt');
  rewrite(f);
  for i := 1 to n do                   //вывод результата в файл
    write(f, a[i], ' ');
  close(f);
end;
 
begin
  for i := 1 to n do
    a[i] := random(1, 50);        //заполнение числами из заданного интервала
  
  for i := 1 to n do write(a[i], ' ');
  writeln;
  
  back;
 
  Fileout;
  
  for i := 1 to n do write(a[i], ' ');    //вывод результата на экран
end.

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

  1. В коде используется язык программирования PascalABC.Net.
  2. Задана переменная n со значением 11, которая определяет размер массива.
  3. Создается массив a размером 11, который заполняется случайными числами от 1 до 50 с помощью цикла for и функции random.
  4. Выводится начальный порядок элементов массива на экран с помощью цикла for и функции write.
  5. Определена процедура back, которая меняет порядок четных элементов массива a путем перестановки их местами с элементами, находящимися на позициях, кратных 2.
  6. Определена процедура fileout, которая записывает элементы массива a в файл Fileout.txt в порядке их исходного расположения.
  7. В основной части программы вызываются процедуры back и fileout после вычисления и вывода начального порядка элементов массива a.
  8. Выводится измененный порядок элементов массива a на экран с помощью цикла for и функции write.

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


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

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

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