PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!
3. Заполнить массив случайными целыми числами (0-10). Найти сумму четных и нечетных значений.
begin
var a:=ArrRandom(ReadInteger('n='),0,10); a.Println;
var so:=a.Where(t->t.IsOdd).Sum;
var se:=a.Where(t->t.IsEven).Sum;
Writeln('Сумма четных значений равна ',so,', нечетных ',se)
end.
Пример
n= 15
4 2 1 9 1 1 6 5 10 8 3 9 7 7 9
Сумма четных значений равна 52, нечетных 30
5. Заполнить массив целыми числами с клавиатуры. Найти произведение всех элементов массива.
Ограничим ввод нулем, поскольку ввод нуля обнулит все произведение.
begin
ReadSeqIntegerWhile(t->t<>0).Aggregate(BigInteger(1),(p,q)->p*q).Println
end.
Пример
-4523 235423 6734532 2342354 67345423 2342342 -43532423 0
115347094687898985235964440890392383424914416
7.
Заполнить массив случайными целыми числами в интервале от 0 до 18.
Найти наибольший элемент среди всех чисел массива и указать его номер.
begin
var a:=ArrRandom(ReadInteger('n='),0,18); a.Println;
var imax:=a.IndexMax;
Writeln('Наибольший элемент ',a[imax],' имеет номер ',imax+1)
end.
Пример
n= 13
1 4 8 18 14 14 7 1 12 15 16 12 11
Наибольший элемент 18 имеет номер 4