Необходимо составить программу с использованием рекурсии - Pascal ABC

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

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

Поменять местами элемент с заданным номером и самый левый минимальный элемент, после чего все элементы, имеющие номера с первого по заданный, поделить на найденное минимальное значение

Решение задачи: «Необходимо составить программу с использованием рекурсии»

textual
Листинг программы
  1. const n=20;
  2. var x:array[1..n]of real;
  3. //рекурсивная функция поиска минимального
  4. function Min(n:integer):integer;
  5. var w:integer;
  6. begin
  7. if n>1 then
  8.  begin
  9.   w:=Min(n-1);
  10.   if x[n]>x[w] then Min:=w
  11.   else Min:=n
  12.  end
  13. else Min:=1
  14. end;
  15. var k,i,imn:integer;
  16.     z,t:real;
  17. begin
  18. randomize;
  19. writeln('Исходный массив:');
  20. for i:=1 to n do
  21.   begin
  22.     x[i]:=1+random*10;
  23.     write(x[i]:5:1);
  24.   end;
  25. writeln;
  26. imn:=Min(n);
  27. z:=x[imn];
  28. writeln('Индекс первого минимального=',imn,' его значение=',z:0:1);
  29. repeat
  30. write('Введите номер от 1 до ',n,' k=');
  31. readln(k);
  32. until k in [1..n];
  33. t:=x[imn];
  34. x[imn]:=x[k];
  35. x[k]:=t;
  36. writeln('Обмен минимального с элеменьом под номером ',k);
  37. for i:=1 to n do
  38. write(x[i]:5:1);
  39. writeln;
  40. writeln('Деление элементов с 1 по ',k,' на ',z:0:1);
  41. for i:=1 to n do
  42.  begin
  43.   if i<=k then x[i]:=x[i]/z;
  44.   write(x[i]:5:1);
  45.  end;
  46. end.

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


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

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

9   голосов , оценка 3.444 из 5

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

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

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