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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Циклы в C# http://www.cyberforum.ru/cpp-beginners/thread272101.html
Подскажите, пожалуйста, где ошибка? Программа неправильный результат выдаёт! Вот исходные данные: p=s=4*(1-(1/3)+...+((-1)^n*(1/2*n+1)+...) e=0.0001 Через рекуррентное соотношение: q=-(2*n+1)/(2*n+3) Вот сама программа: {
C++ Обратная матрицы Следует написать 4 программы поиска обратной матрицы методом присоединённой единичной, гауссом. Только отличие от этих программ такое: форма входа матрицы линейный массив строк, линейный массив столбцов, двумерный массив с адресом на строки, двумерный массив с адресом на столбцы. Также следует перемножить эти две матрицы (получинную обратную и исходную) получить почти единичную, отнять единичную... http://www.cyberforum.ru/cpp-beginners/thread272092.html
C++ Работа с массивом (исправте ошибки плз)
Найти максимальное значение и заменить его индексом элементы массива меньше чем -5 массив от 100 до -100 #include <stdio.h> #include <stdlib.h> #include <time.h> int Ar; int i; int j; int max=-100;
C++ Алгоритм Габова для поиска максимального паросочетания в произвольном графе за O(V^3)
Прокомментируйте каждую строку. Очень нужно. Спасибо! #include <cstdio> #include <cstring> #include <queue> using namespace std; const int MAXN = 250; const int MAXB = MAXN + 1;
C++ Как сохранить предыдущее значение переменной? http://www.cyberforum.ru/cpp-beginners/thread272078.html
Прошу подсказать как реализовать такой алгоритм Есть переменная В и есть переменная А. Они хранят числа от 00 до FF. Хранить должны так В принимает текущее значение, А хранит предыдущее. Если значение не изменилось, то ничего не меняется. Какие будут соображения?
C++ подражания 1.Написать шаблоны функций для вычисления индексов минимального и максимального элементов. 2.Привести случаи, когда необходимо подражания. Дать примеры классов. подробнее

Показать сообщение отдельно
Dimaskih
4 / 4 / 0
Регистрация: 01.06.2010
Сообщений: 27
24.04.2011, 05:12     Проверить матрицу на ортоганальность
В википедии написано что такое ортогональная матрица-Это матрица которая при умножении на ее транспонированную матрицу даёт единичную матрицу. A*At = E
Что мешает сделать транспонированную матрицу, перемножить их и проверить результат на соответствие единичной матрице?
Или сложнее немного- найти определитель и проверить на равность +(-)1.

Добавлено через 20 минут
Посмотрел Код.
Он ведь на C? тогда понятно почему не компилируется., ошибок миллион. Если задача только для матрицы 2х2 то задача вообще плёвая:
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
include <conio.h>
include <iostream.h>
include <stdio.h>
using namespace std;
int proverka (/*int **mas, int opr*/) 
// вообще непонятно, в прототипе функции два аргумента, в основной функции при вызове один аргумент - Зачем передавать определитель?
{
int mass[2][2];
 cout << "Vvedite matricu 2*2 -> "<<endl;
 for (int i=0;i<2;i++)
 for (int j=0;j<2;j++)
 cin >> mass[i][j]; // Ввод массива
 
int opr = mass[0][0]*mass[1][1] - mass[1][0]*mass[0][1]; // Нахождение определителя
 if ((opr == 1)||(opr==-1)) cout << "Ort";
   else 
           cout << "Ne ort";
return opr;
}
    
 
void main ()
{
/*int **mass;*/// это вообще не понял нафиг нужно, но память не выделена поэтому не работает
 /*for (int i=0;i<2;i++)
  for (int j=0;j<2;j++)
 {
 mass[i][j]=rand()%100;*/
// если в функции задавать матрицу какой тол задавать её в main рандомно и вообще потом передавать в функции если создаешь в ней другой массив?
 //cout << mass[i][j] << " ";}
 int opr = proverka (); // функция возвращает значение а здесь оно ничему не присваивается надо было так int opr = proverka(mass);
 //int opr;
 cout <<endl<< opr << " " ;
}
 
Текущее время: 04:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru