Необходимо составить программу с использованием рекурсии - Pascal ABC
Формулировка задачи:
Поменять местами элемент с заданным номером и самый левый минимальный элемент, после чего все элементы, имеющие номера с первого по заданный, поделить на найденное минимальное значение
Решение задачи: «Необходимо составить программу с использованием рекурсии»
textual
Листинг программы
const n=20; var x:array[1..n]of real; //рекурсивная функция поиска минимального function Min(n:integer):integer; var w:integer; begin if n>1 then begin w:=Min(n-1); if x[n]>x[w] then Min:=w else Min:=n end else Min:=1 end; var k,i,imn:integer; z,t:real; begin randomize; writeln('Исходный массив:'); for i:=1 to n do begin x[i]:=1+random*10; write(x[i]:5:1); end; writeln; imn:=Min(n); z:=x[imn]; writeln('Индекс первого минимального=',imn,' его значение=',z:0:1); repeat write('Введите номер от 1 до ',n,' k='); readln(k); until k in [1..n]; t:=x[imn]; x[imn]:=x[k]; x[k]:=t; writeln('Обмен минимального с элеменьом под номером ',k); for i:=1 to n do write(x[i]:5:1); writeln; writeln('Деление элементов с 1 по ',k,' на ',z:0:1); for i:=1 to n do begin if i<=k then x[i]:=x[i]/z; write(x[i]:5:1); end; end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д