// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); Writeln('Кол-во положительных: ',a.ElementsByRow.Where(x->x>1).Count) end.
Ввод данных заменен на инициализацию от датчика псевдослучайных чисел на интервале [-45;45]. Если нужен именно ввод, строку A(I)=RND... замените на INPUT(A(I))
CONST n = 10 DIM a(1 TO n, 1 TO n) AS INTEGER RANDOMIZE TIMER CLS PRINT "Матрица A" FOR i = 1 TO n FOR j = 1 TO n a(i, j) = INT(90 * RND - 45) PRINT USING ""; a(i, j); NEXT j PRINT NEXT i k = 0 FOR i = 1 TO n IF a(i, i) > 0 THEN k = k + 1 NEXT i PRINT PRINT "Количество положительных на ГД равно "; k
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк в массиве:');
var m:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('Кол-во положительных: ',a.ElementsByRow.Where(x->x>1).Count)
end.
Пример
Количество строк в массиве: 5
Количество столбцов в массиве: 12
*** Исходный массив [5,12] ***
-64 16 -1 59 -63 -37 -54 28 -40 39 17 -84
89 8 38 56 -51 20 49 28 -90 -85 1 81
13 52 -10 15 28 -95 76 -77 -54 -27 33 -9
22 43 -40 14 58 19 -75 26 92 94 -59 87
-95 -8 65 -24 -50 62 26 -79 -85 18 -54 -16
Кол-во положительных: 32