Составить процедуру (или функцию), которая меняет порядок элементов массива - 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.
Объяснение кода листинга программы
- В коде используется язык программирования PascalABC.Net.
- Задана переменная
n
со значением 11, которая определяет размер массива. - Создается массив
a
размером 11, который заполняется случайными числами от 1 до 50 с помощью циклаfor
и функцииrandom
. - Выводится начальный порядок элементов массива на экран с помощью цикла
for
и функцииwrite
. - Определена процедура
back
, которая меняет порядок четных элементов массиваa
путем перестановки их местами с элементами, находящимися на позициях, кратных 2. - Определена процедура
fileout
, которая записывает элементы массиваa
в файлFileout.txt
в порядке их исходного расположения. - В основной части программы вызываются процедуры
back
иfileout
после вычисления и вывода начального порядка элементов массиваa
. - Выводится измененный порядок элементов массива
a
на экран с помощью циклаfor
и функцииwrite
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д