составить блок схему к двум задачам
1)построить блок схему Дан целочисленный массив с количеством элементов п. Вывести на печать те его элементы, индексы которых являются степенями двойки: 1, 2, 4, 8, 16, ...
2) Дана последовательность целых чисел a1, а2, ..., аn. Определить пары чисел ai, aj, сумма которых аi + аj = т.
{PascalABC}
Program Begenjov1997;
const
n = 30; {Количество элементов массива}
m = 10000; {Максимально возможное значение элемента}
var
a:array[1..n] of integer;
i, sum: integer;
s:string;
begin
s:=' -=Alphaeus=- ';
for i:=1 to 22 do begin write(s[i]); sleep(60) end;
{заполняем массив случайными числами}
writeln; randomize;
for i:=1 to n do
begin
a[i]:=random(m+1);
end;
{Ищем максимальную сумму двух соседних элементов}
sum:=a[1]+a[2];
for i:=2 to n-1 do
if (a[i]+a[i+1]>sum) then sum:=a[i]+a[i+1];
{Заменяем элементы, кратные 3, наденной суммой}
for i:=1 to n do
if (a[i] mod 3 = 0) then a[i]:=sum;
{Вывод}
writeln('Массив А в обратном порядке:');
for i:=0 to n-1 do writeln(a[n-i],' ');
writeln();
writeln('Максимальная сумма двух соседних элементов равна ',sum);
end.
Program Begenjov1997;
const
n = 30; {Количество элементов массива}
m = 10000; {Максимально возможное значение элемента}
var
a:array[1..n] of integer;
i, min, max: integer;
s:string;
begin
s:=' -=Alphaeus=- ';
for i:=1 to 22 do begin write(s[i]); sleep(60) end;
{заполняем массив случайными числами}
writeln; randomize;
for i:=1 to n do a[i]:=random(m+1);
{Ищем максимальный и минимальный элементы}
min:=a[1]; max:=a[1];
for i:=1 to n do
begin
if (a[i]>max) then max:=a[i];
if (a[i]<min) then min:=a[i];
end;
{Заменяем минимальные элементы на максимальные}
for i:=1 to n do
if (a[i] = min) then a[i]:=max;
{Вывод}
writeln('Массив:');
for i:=1 to n do writeln(a[i]);
end.