----------------------------- СРОЧНО --------------------- Необходимо составить программу в pascal ABC с использованием рекурсии под инвертированием
10-11 класс
|
понимают перестановку первого и последнего элементов этой части, второго и предпоследнего и т.д. а вот само задание ==> Инвертировать часть массива, расположенную между самым левым минимальным в первой половине массива и самым правым максимальным во второй половине массива.
Program Pr1;
uses crt;
var mas:array[1..10] of integer;
i,a,b,max,min,x,t:integer;
Begin
clrscr;
randomize;
for i:=1 to 10 do mas[i]:=random(10);
for i:=1 to 10 do write(mas[i]);
max:=0;
min:=99;
for i:=1 to 5 do if mas[i]<=min then begin
min:=mas[i];
a:=i;
end;
for i:=6 to 10 do if mas[i]>=max then begin
max:=mas[i];
b:=i;
end;
t:=0;
for i:=a to b div 2 do begin
x:=mas[b-t];
mas[b-t]:=mas[i];
mas[i]:=x;
t:=t+1;
end;
writeln();
for i:=1 to 10 do write(mas[i]);
end.
Другие вопросы из категории
Дисковое пространство используется при распределении памяти:
(нужно ответить на несколько вариантов ответа)
1. Фиксированными разделами
2. Страничном распределении
3. Разделами переменной величины
4. Сегментном распределении
5. Перемещаемыми разделами
а)Определить, есть ли оно четным
б)заканчивается ли оно на 7
mas2;
var
i,j,sum,kol:integer;
a: array [1..5, 1..5] of integer;
function rs (var kol:integer): integer;
var sum:integer;
begin
sum:=0;
kol:=0;
for i:=1 to 5 do
for j:=1 to 5 do
if (A[i,j]>0) and (j>i) then
begin inc(kol); sum:=sum+A[i,j]; end;
rs:=sum;
end;
begin
for i:=1 to 5 do
for j:=1 to 5 do
A[i,j]:= Random (9);
for i:=1 to 5 do
begin
for j:=1 to 5 do
write(A[i,j]:2);
writeln;
end;
writeln;
sum:=rs(kol);
writeln('Сумма= ',sum);
writeln('Количество=',kol);
readln;
end.
действия над массивами. В таблице при формулировании задания для разъяснения
его сути справа отображены примеры исходных X и результирующих Y массивов с
конкретными числами. Программа, естественно, должна обрабатывать любые числа для
массивов произвольной размерности N.
Программа должна предъявлять исходные и новые (если требуется) массивы.
Читайте также
Составить программу вычисления значений функции F(x) на отрезке [а; b] с шагом h.
Результат представить в виде таблицы, первый столбец которой — значения
аргумента, второй — соответствующие значения функции: "F(x) = 1/2 ctg x/4+4"
день он пробежал больше 20 км. б) в какой день суммарный пробег за все дни превысит 100 км? Задача по информатике, надо составить программу в pascal abc. Помогите!