Вещественный массив - Free Pascal
Формулировка задачи:
Дан вещественный массив x размера n(n=10). Переставить элементы массива таким образом, чтобы вначале в массиве шла группа элементов больших первого элемента в исходном массиве, потом - группа элементов меньших или равных ему
Решение задачи: «Вещественный массив»
textual
Листинг программы
- uses crt;
- const n=10;
- var a:array[1..n] of real;
- i,k,j:integer;
- x,y:real;
- begin
- clrscr;
- randomize;
- writeln('Исходный массив:');
- for i:=1 to n do
- begin
- a[i]:=-5+random*(10);
- write(a[i]:6:2);
- end;
- writeln;
- writeln;
- k:=0;
- x:=a[1];
- for i:=2 to n do
- if a[i]>x then
- begin
- k:=k+1;
- y:=a[i];
- for j:=i downto k+1 do
- a[j]:=a[j-1];
- a[k]:=y;
- end;
- writeln('Перестановка:');
- for i:=1 to n do
- write(a[i]:6:2);
- readln
- end.
Объяснение кода листинга программы
- Объявлены переменные: n - константа, равная 10; a - вещественный массив размера n; i, k, j - целочисленные переменные для цикла; x, y - вещественные переменные для работы с массивом.
- Заполнение исходного массива случайными числами от -5 до 5 с шагом 0,1.
- Вывод исходного массива на экран.
- Инициализация счётчика k=0 и переменной x значением первого элемента массива.
- Проход по массиву с 2-го элемента до n-го. Если текущий элемент больше x, то: 5.1. Увеличение счётчика k на 1. 5.2. Значение переменной y присваивается текущему элементу массива. 5.3. Проход по массиву от элемента с индексом (k+1) до элемента с индексом k включительно. При этом элемент с индексом k присваивается значению элемента с индексом (k-1), а элемент с индексом (k+1) присваивается значению переменной y.
- Вывод переставленного массива на экран.
- Ввод символа для выхода из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д