Форум программистов, компьютерный форум CyberForum.ru

Определение ортогональной матрицы (проверить) - C++

Восстановить пароль Регистрация
 
Bulding
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 47
15.12.2012, 01:19     Определение ортогональной матрицы (проверить) #1
проверьте пожалуйста,может что-то не то, определение ортогональной матрицы


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <vcl>
#include <iostream>
#include <conio>
using namespace std;
 
//---------------------------------------------------------------------------
typedef int* ip;
bool ort (int **A, int **E, int n);
 
void main ()
{
 system ("title Orthogonal matrix");
 int n, **A = new int *[n], **E = new int *[n];
 ort (A, E, n);
 
 for (int i=0; i<n; i++)
 {
  delete[]A[i]; delete []E[i];
 }
 
 delete []A; delete []E;
 system ("pause");
}
 
//---------------------------------------------------------------------------
 
bool ort (int **A, int **E, int n)
{
 bool res=1;
 cout <<"Vvedite razmernost' matricy A: ";
 cin >>n;
 A = new int*[n], E = new int*[n];
 
 for (int i=0; i<n; i++)
 {
  A[i] = new int[n]; E[i]= new int[n];
 }//Sozdanie matrizy A i E.
 
 for (int i=0; i<n; i++)
 {
  for (int j=i; j<n; j++)
  {
   cout <<"a"<<i+1<<j+1<<"=";
   cin >>A[i][j];
   if (i!=j) A[j][i]=A[i][j];
  }//j.
 }//i. Vvod matrizy A.
 
 for (int i=0; i<n; i++)
 {
  cout <<"\n";
  for (int j=0; j<n; j++) cout <<A[i][j]<<"\t";
 }//i. Vyvod matrizy A.
 
 int elem=0;
 for (int i=0; i<n; i++)
 {
  for (int j=0; j<n; j++)
  {
   elem=0;
   for (int k=0; k<n; k++) elem=elem+A[i][k]*A[j][k];
   E[i][j]=elem;
   if ((i==j && elem!=1) || (i!=j && elem!=0)) {res=0; break;}
  }//j.
}//i.

if (res) cout <<"\n\nThe matrix A is orthogonal.\n"; else cout <<
"\n\nThe matrix A is not orthogonal.\n";
return res;
}//ort.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 01:19     Определение ортогональной матрицы (проверить)
Посмотрите здесь:

Проверить, все ли столбцы матрицы упорядочены по возрастанию. Если да, то увеличить все элементы матрицы вдвое C++
Найти сумму элементов матрицы, находящихся на диагонали, «ортогональной » главной C++
Квадратная матрица A называется ортогональной C++
C++ Определение времени года за порядковым номером месяца (проверить)
C++ Квадратная матрица A называется ортогональной, если AT=A-1
Определить, является ли заданная матрица A(n,n) ортогональной C++
C++ Определить, является ли заданная матрица A(n,n) ортогональной

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
15.12.2012, 07:00     Определение ортогональной матрицы (проверить) #2
см комментарии:
Цитата Сообщение от Bulding Посмотреть сообщение
int n, **A = new int *[n], **E = new int *[n];// вот в этой строке уже выделяется память (2 раза) размером n, а в переменной n еще нет никакого значения
Yandex
Объявления
15.12.2012, 07:00     Определение ортогональной матрицы (проверить)
Ответ Создать тему
Опции темы

Текущее время: 15:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru