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

Проверка матрицы на ортогональность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ поиск слова в строке http://www.cyberforum.ru/cpp-beginners/thread95334.html
вот есть программка, которая должна искать слово word_r (отдельный файл) в строке rus (отедельный файл) и в случае нахождения выводить на экран это слово. Но почему-то пишет какую-то ерись. #include...
C++ объясните код не понятно что означает это int*pointer; pointer=new int Добавлено через 1 минуту я как понял это обычный указатель где хранится адрес только на этот раз дин.память? Добавлено через 3... http://www.cyberforum.ru/cpp-beginners/thread95322.html
C++ Напечатать в алфавитном порядке все буквы, которые входят в текст по одному разу
Необходимо решить следующее : Задача 1. Дан произвольный текст. Напечатать в алфавитном порядке все буквы, которые входят в этот текст по одному разу. Задача 2. Распечатать введенное предложение,...
C++ Нахождение в файле самой длинной строки
Помогите, пожалуйста, сделать программу, а то я вооще запутался((( Задача: чтение из файла строк и выбор из этих строк самой длинной и самой короткой. Вот я делал(она недо конца сделано): ...
C++ Обясните пожалуйста все про классы в С++ http://www.cyberforum.ru/cpp-beginners/thread95291.html
Потолковее и доходчиво,а то читаю С++ сам изучаю вапще тема не понятна
C++ Улучшите программу и исправьте ошибки Представьте пункт для взимания платежей за проезд по автостраде. Каж- дая проезжающая машина должна заплатить за проезд 50 центов, однако часть машин платит за проезд, а часть проезжает... подробнее

Показать сообщение отдельно
Red Planet
49 / 10 / 2
Регистрация: 20.09.2009
Сообщений: 263

Проверка матрицы на ортогональность - C++

13.02.2010, 18:19. Просмотров 1356. Ответов 0
Метки (Все метки)

Написал вот такой код проверки квадратной матрицы на ортогональность.
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
65
66
67
68
69
70
71
//---------------------------------------------------------------------------
#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.
Проверьте пожалуйста на наличие ошибок/багов/глюков/плохого стиля программирования. Я матрицы вбивал, вроде нормально работает, но кто знает, может что и закралось. Критика, пожелания, предложения приветствуются.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru