Вещественный массив - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Дан вещественный массив x размера n(n=10). Переставить элементы массива таким образом, чтобы вначале в массиве шла группа элементов больших первого элемента в исходном массиве, потом - группа элементов меньших или равных ему

Решение задачи: «Вещественный массив»

textual
Листинг программы
  1. uses crt;
  2. const n=10;
  3. var a:array[1..n] of real;
  4.     i,k,j:integer;
  5.     x,y:real;
  6. begin
  7. clrscr;
  8. randomize;
  9. writeln('Исходный массив:');
  10. for i:=1 to n do
  11.  begin
  12.   a[i]:=-5+random*(10);
  13.   write(a[i]:6:2);
  14.  end;
  15. writeln;
  16. writeln;
  17. k:=0;
  18. x:=a[1];
  19. for i:=2 to n do
  20. if a[i]>x then
  21.  begin
  22.   k:=k+1;
  23.   y:=a[i];
  24.   for j:=i downto k+1 do
  25.   a[j]:=a[j-1];
  26.   a[k]:=y;
  27.  end;
  28. writeln('Перестановка:');
  29. for i:=1 to n do
  30. write(a[i]:6:2);
  31. readln
  32. end.

Объяснение кода листинга программы

  1. Объявлены переменные: n - константа, равная 10; a - вещественный массив размера n; i, k, j - целочисленные переменные для цикла; x, y - вещественные переменные для работы с массивом.
  2. Заполнение исходного массива случайными числами от -5 до 5 с шагом 0,1.
  3. Вывод исходного массива на экран.
  4. Инициализация счётчика k=0 и переменной x значением первого элемента массива.
  5. Проход по массиву с 2-го элемента до n-го. Если текущий элемент больше x, то: 5.1. Увеличение счётчика k на 1. 5.2. Значение переменной y присваивается текущему элементу массива. 5.3. Проход по массиву от элемента с индексом (k+1) до элемента с индексом k включительно. При этом элемент с индексом k присваивается значению элемента с индексом (k-1), а элемент с индексом (k+1) присваивается значению переменной y.
  6. Вывод переставленного массива на экран.
  7. Ввод символа для выхода из программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.286 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы