М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
alina2007121034
alina2007121034
26.09.2020 21:50 •  Информатика

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

👇
Ответ:
мир285
мир285
26.09.2020

#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;

}

4,7(76 оценок)
Ответ:
тони2006
тони2006
26.09.2020

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

4,6(90 оценок)
Открыть все ответы
Ответ:
NikaHikikomori
NikaHikikomori
26.09.2020

1) Векторные графические редакторы:

Embroidermodder.

Inkscape.

Ipe.

Karbon14.

LibreOffice Draw.

OpenOffice Draw.

sK1.

Skencil.

2) Растровые графические редакторы:

darktable.

digiKam.

F-Spot.

GIMP.

GNU Paint.

GrafX2.

GraphicsMagick.

ImageMagick.

3) Недостатки растровой графики:

Изображения, создаваемые в растровых программах, всегда занимают много памяти. По этой причине информация в файлах растрового формата хранится, как правило, в сжатом виде. Растровые изображения невозможно увеличивать для уточнения деталей.

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

4,4(11 оценок)
Ответ:
kall5
kall5
26.09.2020

1) переменная P не нужна

2) переменная s отсутствует в разделе описания переменных

3) индексы массива в разделе описания переменных не соотносятся с циклами

4) неправильно написан randomiz

5) ненужные точки с запятой после do

6) неправильный оператор присваивания у s

7) неверно оформленный вывод данных

Объяснение:

Примерный вариант программы с исправлениями:

program n_3;

var i,s:integer;

a: array[1..15] of integer;

begin

s:=0;

randomize;

for i:=1 to 15 do a[i]:=random(10);

for i:=1 to 15 do s:=s+a[i];

writeln('s=',s)

end.

Возможно, отсутствие вывода элементов массива, тоже можно считать ошибкой.

4,4(92 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ