Заполнить массив С из 20 элементов следующим образом: первые 10 элементов случайные числа из интервала (-15, 21), следующие 7 по формуле i*6, остальные ввести с клавиатуры. Распечатать массив в строчку. Найти: а) сумму четных э...
Заполнить массив С из 20 элементов следующим образом: первые 10 элементов случайные числа из интервала (-15, 21), следующие 7 по формуле i*6, остальные ввести с клавиатуры. Распечатать массив в строчку. Найти:
а) сумму четных элементов
б) количество положительных элементов
в) найти минимальный элемент во второй половине массива
г) отсортировать массив по убыванию
Ответ(ы) на вопрос:
Гость
//Сегодня буду скучным
//Pascal ABC.NET v3.1 сборка 1219
Const
n=20;
Var
ar:array[1..n] of integer;
i,s,k,min,j:integer;
begin
randomize;
min:=2147483647;
for i:=1 to 10 do
ar[i]:=random(-15,21);
for i:=11 to 17 do
ar[i]:=i*6;
for i:=18 to n do
readln(ar[i]);
writeln('Array:');
for i:=1 to n do
write(ar[i]:4);
writeln;
i:=2;
while i<>n+2 do
begin
s:=s+ar[i];
i:=i+2;
end;
writeln('Sum=',s);
for i:=1 to n do
if ar[i]>0 then k:=k+1;
writeln('Count of positive elements=',k);
for i:=10 to n do
if min>ar[i] then min:=ar[i];
writeln('Min=',min);
for i:=1 to n-1 do
for j:=i+1 to n do
if ar[i]
Гость
//PascalABC.NET 3.1 сборка 1239
begin
var a := ArrRandomInteger(10, -15, 21) + ArrGen(7, i -> i * 6, 11) + ReadArrInteger(3);
a.Println;
Println('а) сумму четных элементов = ', a.Where(x -> x mod 2 = 0).Aggregate((s, x)-> s + x));
Println('б) количество положительных элементов = ', a.Count(x -> x > 0));
Println('в) найти минимальный элемент во второй половине массива = ', a.Skip(10).Min);
Println('г) отсортировать массив по убыванию = ');
a := a.SortedDescending.ToArray;
a.Println;
end.
Не нашли ответ?
Похожие вопросы