Расположить элементы одномерного массива в обратном порядке - Free Pascal
Формулировка задачи:
Создать одномерный массив [1..10] и поменять местами первый элемент с последним, второй с предпоследним и.т.д. Сделать в виде функции.
Числа вводятся с клавиатуры.
Спасибо
Решение задачи: «Расположить элементы одномерного массива в обратном порядке»
textual
Листинг программы
Program Kek1;
Uses crt;
Type
mass = array [1..10] of integer;
End;
Function ReCange(a: mass;): mass;
Var b, x: integer;
Begin
b:= 1;
Repeat
x:= a[10-b];
a[10-b]:= a[b];
a[b]:= x;
b:= b+1;
Until b>5;
For b:= 1 to 10 do
Write(a[b], ' ');
End;
Var a: mass;
b: integer;
Begin
For b:= 1 to 10 do
Begin
Read(a[b]);
Write(' ');
End;
ReCange(a[b]);
End.
Объяснение кода листинга программы
- Объявлен тип массива
massс размерностью 1..10. - Объявлена функция
ReCange, которая принимает массивaв качестве параметра и возвращает массивa. - В функции
ReCangeобъявлены две переменныеbиxтипаinteger. - Переменная
bинициализируется значением 1. - В цикле
Repeatпроисходит пять повторений следующих действий:- Переменная
xинициализируется значением элемента массиваaс индексом 10-b. - Элементы массива
aменяются местами: элемент с индексом b заменяется на значение переменнойx, а элемент с индексом 10-b заменяется на элемент с индексом b. - Переменная
bувеличивается на 1. до тех пор, пока значение переменнойbне станет больше 5.
- Переменная
- В цикле
Forпроисходит обход элементов массиваaс индексами от 1 до 10, и каждый элемент выводится на экран с пробелом после него. - В основной части программы объявлены две переменные
aиbтипаmassиintegerсоответственно. - В цикле
Forпроисходит обход элементов массиваaс индексами от 1 до 10, и каждый элемент считывается с помощью функцииRead, а затем выводится на экран с пробелом после него. - Функция
ReCangeвызывается с аргументомa[b], гдеb- это переменная, инициализированная значением 10. - Программа завершается.