Ввод данных заменен на инициализацию от датчика псевдослучайных чисел на интервале [-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
// 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
Пример выполнения программы
Матрица A
-33 43 -43 3 19 -43 28 19 32 27
-40 -4 -11 -27 -30 -7 35 19 24 0
-21 -43 30 10 -16 39 43 16 30 4
-39 40 13 3 -42 -5 -27 38 39 27
-26 34 -17 -26 12 36 21 23 28 -29
15 33 -44 -20 2 -36 -38 42 -44 -27
-10 -6 15 -17 -39 10 21 1 -6 32
-23 8 19 27 -19 -43 43 6 12 -18
-14 -39 8 -8 -4 18 44 6 -30 -24
9 -18 0 40 16 15 28 44 26 26
Количество положительных на ГД равно 6
// Внимание! Если программа не работает, обновите версию!
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