
Вопрос задан 19.01.2019 в 21:08.
Предмет Информатика.
Спрашивает Югов Никита.
Помогите, пожалуйста, написать программу!PascalABC.net . Вычислить M=(kolichestvo(S)+
kolichestvo(N))^2. Где функция kolichestvo(C) вычисляет количество четных элементов под побочной диагональю двумерного массива.

Ответы на вопрос

Отвечает Гущина Наталья.
// PascalABC.NET 3.3, сборка 1600 от 23.12.2017
// Внимание! Если программа не работает, обновите версию!
function kolichestvo(c:array [,] of integer):integer;
begin
Result:=0;
var n:=c.RowCount;
for var i:=1 to n-1 do
for var j:=n-i to n-1 do
if c[i,j].IsEven then Result+=1
end;
function massiv:array[,] of integer;
begin
var n:=ReadInteger('Число строк/столбцов: ');
Result:=MatrRandom(n,n,-99,99)
end;
begin
var s:=massiv; s.Println(4); Writeln(4*s.ColCount*'-');
var n:=massiv; n.Println(4); Writeln(4*n.ColCount*'-');
var m:=Sqr(kolichestvo(s)+kolichestvo(n));
Writeln('M=',m)
end.
Пример
Число строк/столбцов: 3
-77 -81 82
-30 -37 39
31 92 12
------------
Число строк/столбцов: 6
66 9 -64 -53 13 -61
16 -72 -25 38 -19 21
40 29 38 77 -38 11
31 76 -83 -17 -58 1
-2 39 -63 84 -35 -42
-23 -75 -57 92 -14 -73
------------------------
M=64
// Внимание! Если программа не работает, обновите версию!
function kolichestvo(c:array [,] of integer):integer;
begin
Result:=0;
var n:=c.RowCount;
for var i:=1 to n-1 do
for var j:=n-i to n-1 do
if c[i,j].IsEven then Result+=1
end;
function massiv:array[,] of integer;
begin
var n:=ReadInteger('Число строк/столбцов: ');
Result:=MatrRandom(n,n,-99,99)
end;
begin
var s:=massiv; s.Println(4); Writeln(4*s.ColCount*'-');
var n:=massiv; n.Println(4); Writeln(4*n.ColCount*'-');
var m:=Sqr(kolichestvo(s)+kolichestvo(n));
Writeln('M=',m)
end.
Пример
Число строк/столбцов: 3
-77 -81 82
-30 -37 39
31 92 12
------------
Число строк/столбцов: 6
66 9 -64 -53 13 -61
16 -72 -25 38 -19 21
40 29 38 77 -38 11
31 76 -83 -17 -58 1
-2 39 -63 84 -35 -42
-23 -75 -57 92 -14 -73
------------------------
M=64



Отвечает Невзорова Елизавета.
Function kolichestvo(a:array[,] of integer):integer;
begin
var c:=a.ColCount-1;
Result:=a.ElementsWithIndexes.Where(k->k[2]>c-k[1]).
Select(k->k[0]).Where(x->x mod 2=0).Count;
end;
begin
var k:=ReadInteger('Количество строк и столбцов в матрицах = ');
var S:=MatrRandom(k,k,-10,10);
writeln('S:'); S.Println(6);
var N:=MatrRandom(k,k,-10,10);
writeln('N:'); N.Println(6);
writeln('M = ',sqr(kolichestvo(S)+kolichestvo(N)));
end.
Пример:
Количество строк и столбцов в матрицах = 4
S:
9 9 -7 5
4 8 -2 8
8 10 -9 -2
10 -6 -3 -2
N:
9 -7 -4 -1
-1 -3 1 3
2 -6 -8 8
2 2 8 0
M = 81
begin
var c:=a.ColCount-1;
Result:=a.ElementsWithIndexes.Where(k->k[2]>c-k[1]).
Select(k->k[0]).Where(x->x mod 2=0).Count;
end;
begin
var k:=ReadInteger('Количество строк и столбцов в матрицах = ');
var S:=MatrRandom(k,k,-10,10);
writeln('S:'); S.Println(6);
var N:=MatrRandom(k,k,-10,10);
writeln('N:'); N.Println(6);
writeln('M = ',sqr(kolichestvo(S)+kolichestvo(N)));
end.
Пример:
Количество строк и столбцов в матрицах = 4
S:
9 9 -7 5
4 8 -2 8
8 10 -9 -2
10 -6 -3 -2
N:
9 -7 -4 -1
-1 -3 1 3
2 -6 -8 8
2 2 8 0
M = 81


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili