// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 begin var n:=ReadInteger('Задайте число строк/столбцов массива:'); var a:=MatrixRandom(n,n,-99,99); Writeln('Исходный массив'); for var i:=0 to n-1 do begin for var j:=0 to n-1 do Write(a[i,j]:4); Writeln end; Write('Кол-во нечетных элементов выше главной диагонали: '); var k:=0; for var i:=0 to n-2 do for var j:=i+1 to n-1 do if Odd(a[i,j]) then Inc(k); Writeln(k) end.
int main() { int n; scanf("%d", &n); bool a[n][n]; memset(a, true, sizeof(a)); int m; scanf("%d", &m); for (int k = 0; k < m; ++k) { int x, y, aa; scanf("%d%d%d", &x, &y, &aa); for (int i = x; i < min(x + aa, n + 1); ++i) { for (int j = y; j < min(y + aa, n + 1); ++j) { a[i][j] = false; } } } int cnt = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (a[i][j]) { cnt++; } } } printf("%d", cnt); return 0; }
begin
var n:=ReadInteger('Задайте число строк/столбцов массива:');
var a:=MatrixRandom(n,n,-99,99);
Writeln('Исходный массив');
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do Write(a[i,j]:4);
Writeln
end;
Write('Кол-во нечетных элементов выше главной диагонали: ');
var k:=0;
for var i:=0 to n-2 do
for var j:=i+1 to n-1 do
if Odd(a[i,j]) then Inc(k);
Writeln(k)
end.
Тестовое решение
Задайте число строк/столбцов массива: 6
Исходный массив
31 27 -90 -64 -75 22
12 11 79 6 -14 73
-66 -52 -97 -82 -50 47
-65 20 25 -7 -13 46
-31 -9 -69 47 81 2
-43 -68 95 -3 -36 -55
Кол-во нечетных элементов выше главной диагонали: 6