// PascalABC.NET 3.3, сборка 1579 от 18.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var (m,n):=ReadInteger2('Количество строк и столбцов в матрице:'); Writeln('*** Исходная матрица [',m,',',n,'] ***'); var a:=MatrRandom(m,n,-50,50); a.Println(4); Writeln(4*a.ColCount*'-'); var s:=a.Rows.SelectMany(x->x); var max:=s.Max; Writeln('Максимум ',max, ' встречается ', s.Where(x->x=max).Count,' раз(а)') end.
program z1;
var a: array [1..15] of real;
i, k, b: integer;
proizv: real;
begin
proizv:= 1;
a[1]:= 0.01;
a[2]:= -3;
a[3]:= 0;
a[4]:= 1.25;
a[5]:= -371;
a[6]:= 0.5;
a[7]:= -0.1;
a[8]:= 1.2;
a[9]:= -5;
a[10]:= -172.3;
a[11]:= 19783;
a[12]:= -2.7;
a[13]:= 43.51;
a[14]:= 0;
a[15]:= -0.02;
b:= -3;
k:= 0;
for i:=1 to 15 do
begin
if (a[i] <> 0) and (a[i] > b) then
begin
proizv:= proizv * a[i];
k:= k+1;
end;
end;
writeln('Количество чисел, подходящих условию: ', k);
writeln('Произведение чисел, подходящих условию: ', proizv);
end.
Объяснение:
На фото нарисована блок-схема, она немного криво сфоткана, надеюсь разберёшься. Если есть вопросы - задавай :)
// Внимание! Если программа не работает, обновите версию!
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в матрице:');
Writeln('*** Исходная матрица [',m,',',n,'] ***');
var a:=MatrRandom(m,n,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
var s:=a.Rows.SelectMany(x->x);
var max:=s.Max;
Writeln('Максимум ',max, ' встречается ',
s.Where(x->x=max).Count,' раз(а)')
end.
Пример
Количество строк и столбцов в матрице: 6 11
*** Исходная матрица [6,11] ***
15 19 26 0 -21 -42 8 -9 -7 21 19
-7 -49 23 -10 8 -9 -50 -31 8 -49 -36
-42 -45 -49 -11 3 -45 -20 45 -29 39 13
9 45 -19 9 -31 -38 29 27 39 13 36
-47 28 44 8 -22 28 7 -25 -3 -9 39
1 11 20 -1 40 5 2 -40 -2 -1 30
Максимум 45 встречается 2 раз(а)