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.
// PascalABC.NET 3.0, сборка 1073 const nn=30; mm=30; var a:array[1..mm,1..nn] of integer; m,n,i,j,k,s:integer; begin Writeln('Введите число строк и столбцов массива: '); Read(m,n); Randomize; Writeln('*** Исходный массив ***'); k:=0; for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=Random(51)-25; Write(a[i,j]:4); if Odd(a[i,j]) then Inc(k) end; Writeln end; if k>5 then begin Writeln('Средние арифметические отрицательных элементов по строкам'); for i:=1 to m do begin s:=0; k:=0; for j:=1 to n do if a[i,j]<0 then begin Inc(k); s:=s+a[i,j] end; if k>0 then Writeln(s/k:9:5) else Writeln(' 0.00000'); end end else begin Writeln('*** Результирующий массив ***'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=2*a[i,j]; Write(a[i,j]:4) end; Writeln end end end.
Внимание! Если программа не работает, обновите версию!
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