Составить процедуру (или функцию), которая меняет порядок элементов массива - 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д