function IsOrtho(a: array[,] of integer): boolean;
begin
var n := a.RowCount - 1;
for var row1 := 0 to n do
for var row2 := 0 to n do
begin
var s := 0;
for var col := 0 to n do
s += a[row1, col] * a[row2, col];
if (row1 = row2) and (s <> 1) then
begin
IsOrtho := False;
Exit
end;
if (row1 <> row2) and (s <> 0) then
begin
IsOrtho := False;
Exit
end
end;
IsOrtho := True
end;
begin
var n := 5;
var a := ReadMatrInteger(n, n);
if IsOrtho(a) then
Println('Ортонормированная')
else
Println('Не ортонормированная')
end.
На pascalabc.net
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int a[5][5] =
{
{4,-5,8,-3,1},
{-3,8,-1,1,-8},
{9,6,6,-3,-7},
{-7,-3,3,6,-7},
{7,-3,-6,5,0},
};
int b[5][5];
int i, j, cp, cm, sp, sm;
setlocale(LC_ALL, "Russian");
cout << "Массив A";
for (i = 0; i < 5; i++) {
cout << endl;
for (j = 0; j < 5; j++) {
cout << setw (4) << a[i][j];
}
}
cp = cm = sp = sm = 0;
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
if (a[i][j] >= -5)
b[i][j] = a[i][j];
else
b[i][j] = - a[i][j];
if (a[i][j] > 0) {
cp++;
sp += a[i][j];
}
if (a[i][j] < 0) {
cm++;
sm += a[i][j];
}
}
}
cout << endl << endl;
cout << "Среднее значение положительных элементов = " << (float) sp / cp << endl;
cout << "Среднее значение отрицательных элементов = " << (float) sm / cm << endl << endl;
cout << "Массив B";
for (i = 0; i < 5; i++) {
cout << endl;
for (j = 0; j < 5; j++) {
cout << setw(4) << b[i][j];
}
}
return 0;
}