В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
iphoneX10
iphoneX10
21.11.2022 21:10 •  Информатика

Определить, является ли целочисленная квадратная матрица 5 - ого порядка ортонормированной, то есть такой, в которой скалярное произведение каждой пары различных строк равно нулю, а скалярное произведение каждой строки на себя равно единице.

Показать ответ
Ответ:
fantomac718
fantomac718
05.08.2020 09:49

#include <iostream>

#include <time.h>

using namespace std;

double ssummaf(double array2[5][5], size_t m, size_t i, size_t j)

{

double s = 0;

for (size_t k = 0; k < m; k++)

 s += array2[i][k] * array2[j][k];

return s;

}

bool proverka(double array1[5][5], size_t n, size_t m)

{

double s = 0;

for (size_t i = 0; i < n; i++) {

 size_t j = i;

 s = ssummaf(array1, m, i, j);

 if (s != 1)

  return false;

 for (size_t j = i + 1; j < n; j++) {

  s = ssummaf(array1, m, i, j);

  if (s != 0)

   return false;

 }

}

return true;

}

int main() {

srand(time(0));

setlocale(LC_ALL, "Russian");

double A[5][5], B[5][5], C[5][5];

double D[5][5]{ {1,0,0,0,0},{0,1,0,0,0},{0,0,1,0,0},{0,0,0,1,0},{0,0,0,0,1} };

for (size_t i = 0; i < 5; i++) {

 for (size_t j = 0; j < 5; j++)

  A[i][j] = rand() % 2;

}

for (size_t i = 0; i < 5; i++) {

 for (size_t j = 0; j < 5; j++)

  B[i][j] = A[j][i];

}

for (size_t i = 0; i < 5; i++) {

 for (size_t j = 0; j < 5; j++)

  cout << " " << A[i][j];

 cout << endl;

}

cout << endl;

for (size_t i = 0; i < 5; i++) {

 for (size_t j = 0; j < 5; j++)

  cout << " " << B[i][j];

 cout << endl;

}

bool answer1 = proverka(A, 5, 5);

bool answer2 = proverka(D, 5, 5);

if (answer1)

 cout << "Ортонормирована\n";

else

 cout << "Не ортонормирована\n";

if (answer2)

 cout << "Ортонормирована\n";

else

 cout << "Не ортонормирована\n";

return 3;

}

0,0(0 оценок)
Ответ:
Tawerpro
Tawerpro
05.08.2020 09:49

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

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота