1.заполните одномерный массив B1 размерностью в N(< 30 задает пользователь при выполнении программы) элементов так, чтобы каждый элемент с четным номером был равен половине своего номера, а каждый элемент с нечетным номером - количеству элементов в массиве. сформированный массив вывести на экран в столбик.
2.а) найдите среднюю температуру за неделю. (температура была: -5; -3; -7; -6; -2; -4; -3)
б) сколько дней было выше средней? ниже средней?
3. сформируйте массив BC размерностью 30 элементов случайным образом из диапазона 0 - 50. сформированный массив выведите на экран в строку. подсчитайте сумму всех четных элементов массива и отдельно сумму элементов имеющих четные индексы. выведите результаты подсчета на экран. замените элементы равные своему индексу на самый большой элемент массива, если таковые имеются. получившийся массив выведите на экран в столбик. отсортируйте получившейся массив по убыванию.
Answers & Comments
var
n,i: integer;
B1: array [1..30] of real;
begin
writeln('Введите N: ');
read(n);
writeln('Введите ',n,' элементов: ');
for i:= 1 to n do
begin
readln(B1[i]);
if i mod 2 = 0 then B1[i]:=B1[i]/2;
if i mod 2 <> 0 then B1[i]:=n;
end;
writeln('Массив: ');
for i:= 1 to n do writeln(B1[i])
end.
2.
var
sum,c1,c2,i: integer;
T: array [1..7] of integer;
begin
writeln('Введите температуру за 7 дней: ');
for i:= 1 to 7 do
begin
readln(T[i]);
sum:=sum+T[i];
end;
writeln('Средняя температура: ',sum/7);
for i:= 1 to 7 do
begin
if T[i] > sum/7 then inc(c1);
if T[i] < sum/7 then inc(c2);
end;
writeln('Кол-во дней с температурой выше средней: ',c1,'; ниже средней: ',c2);
end.
3.
var
x,j,max,c,sum,i: integer;
BC: array [1..30] of integer;
begin
randomize;
writeln('Массив: ');
for i:= 1 to 30 do
begin
BC[i]:=random(51);
write(BC[i]:4);
if BC[i] mod 2 = 0 then inc(c);
if i mod 2 = 0 then sum:=sum+BC[i];
end;
writeln;
writeln('Кол-во четных элементов: ',c);
writeln('Сумма элементов с четными индексами: ',sum);
max:=BC[1];
for i:= 1 to 30 do
if BC[i] > max then max:=BC[i];
writeln('Результат: ');
for i:= 1 to 30 do
begin
if BC[i] = i then BC[i]:=max;
writeln(BC[i]);
end;
for i := 30 downto 2 do
for j := 2 to i do
if BC[j] > BC[j - 1] then
begin
x := BC[j];
BC[j] := BC[j - 1];
BC[j - 1] := x;
end;
writeln('По убыванию: ');
for i:= 1 to 30 do write(BC[i]:4);
end.