..

Информатика visibility 50 просмотров

Вопрос:

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

Ответ редакции

Ответы и объяснения от Мегамозга

Мегамозг

Program Program1; Var a:array [1..10] of integer; i,min,max, Nmin, Nmax:integer; //Процедура рекурсивной инвресии массива procedure InvertMas(nac,kon:integer); var temp:integer; begin temp:=a[nac]; a[nac]:=a[kon]; a[kon]:=temp; if nac+1<kon-1 then InvertMas(nac+1,kon-1); end; begin randomize; //Заполняем массив случайнами числами и выводим его на экран writeln(‘Массив до инверсии:’); for i:=1 to 10 do begin a[i]:=random(100); writeln(‘a[‘+inttostr(i)+’]=’+inttostr(a[i])); end; //Находим самый левый минимальный элемент в первой половине массива и номер этого элемента Nmin:=1; min:=a[Nmin]; for i:=1 to 5 do if min>a[i] then begin min:=a[i]; Nmin:=i; end; //Находим самый правый максимальный элемент во второй половине массива и номер этого элемента Nmax:=10; max:=a[Nmax]; for i:=10 downto 6 do if max<a[i] then begin max:=a[i]; Nmax:=i; end; writeln; writeln(‘Инвертируем часть массива с ‘+inttostr(Nmin)+’ по ‘+inttostr(Nmax)+’ элемент’); //Инвертируем часть массива с Nmin по Nmax invertmas(Nmin,Nmax);//Выводим массив после инверсии на экран writeln; writeln(‘Массив после инверсии:’); for i:=1 to 10 do writeln(‘a[‘+inttostr(i)+’]=’+inttostr(a[i])); end.

Ответить на вопрос


Adblock
detector