Вещественный массив - 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.
- Вывод переставленного массива на экран.
- Ввод символа для выхода из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д