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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.68
pigah
 Аватар для pigah
12 / 12 / 2
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
22.09.2009, 18:33     Найти детерминант (определитель) матрицы #1
Привет всем помогите найти в 2D массиве детерминант
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2009, 18:33     Найти детерминант (определитель) матрицы
Посмотрите здесь:

C++ Найти определитель матрицы
Найти определитель матрицы C++
Найти определитель матрицы C++
Найти определитель матрицы C++
Найти определитель матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
22.09.2009, 18:35     Найти детерминант (определитель) матрицы #2
Что такое детерминант?
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2218 / 733 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
22.09.2009, 18:39     Найти детерминант (определитель) матрицы #3
Цитата Сообщение от qwert Посмотреть сообщение
Что такое детерминант?
определитель

Добавлено через 53 секунды
http://www.cyberforum.ru/cpp/thread3119.html
pigah
 Аватар для pigah
12 / 12 / 2
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
22.09.2009, 18:39  [ТС]     Найти детерминант (определитель) матрицы #4
Цитата Сообщение от qwert Посмотреть сообщение
Что такое детерминант?
посмотри здесь http://ru.wikipedia.org/wiki/%D0%9E%...B5%D0%BB%D1%8C
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
22.09.2009, 18:44     Найти детерминант (определитель) матрицы #5
По ссылке, что дал Хитрый Минтай есть решение.
pigah
 Аватар для pigah
12 / 12 / 2
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
22.09.2009, 18:45  [ТС]     Найти детерминант (определитель) матрицы #6
Цитата Сообщение от XuTPbIu_MuHTAu Посмотреть сообщение
определитель

Добавлено через 53 секунды
http://www.cyberforum.ru/cpp/thread3119.html
А попроще нету кода??
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
22.09.2009, 18:49     Найти детерминант (определитель) матрицы #7
Кого порядка определитель? Если второго или третьего, тогда можно попроще, иначе нет. Просто точно не смотрел, что за код по той ссылке.
pigah
 Аватар для pigah
12 / 12 / 2
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
22.09.2009, 20:47  [ТС]     Найти детерминант (определитель) матрицы #8
Ну поможет мне кто не будь или нет
Adler
 Аватар для Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
22.09.2009, 23:45     Найти детерминант (определитель) матрицы #9
Поможем

Добавлено через 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
#include <stdlib.h>
 
typedef float Mat3x3[3][3];
 
void Print(Mat3x3 M)
{
  for(int i=0;i<3;i++)printf_s("%+.0f %+.0f %+.0f\n",M[i][0],M[i][1],M[i][2]);
}
 
void DelS(Mat3x3 M,Mat3x3 &B,int s)
{
  for(int x=0;x<3;x++)for(int y=0;y<3;y++)B[x][y]=M[x][y];
  for(int i=s;i<3;i++){for(int k=0;k<3;k++){if(i<2){B[i][k]=M[i+1][k];}else{B[i][k]=0;}};}
};
 
void DelC(Mat3x3 M,Mat3x3 &B,int s)
{
  for(int x=0;x<3;x++)for(int y=0;y<3;y++)B[x][y]=M[x][y];
  for(int j=s;j<3;j++){for(int k=0;k<3;k++){if(j<2){B[k][j]=M[k][j+1];}else{B[k][j]=0;}};}
};
 
float CalcOpr(Mat3x3 M)
{
  Mat3x3 B;
  int i=2,j=0;
  float Result=0; float Aij;
  for(int j=0;j<3;j++)
  {
    for(int x=0;x<3;x++)for(int y=0;y<3;y++)B[x][y]=M[x][y];
    DelS(M,B,i); DelC(B,B,j);
    Aij=M[i][j]*(B[0][0]*B[1][1]-B[0][1]*B[1][0]);
    if(((i+j)%2))Aij*=-1;
    printf_s("A[i,j] = %+.0f\n",Aij);
    Result+=Aij;
  }
  return Result;
}
 
Mat3x3 Q={{+1,-1,+4},
          {+2,+3,+7},
          {-4,+0,+2}};
 
int _tmain(int argc, _TCHAR* argv[])
{
  Print(Q);
  printf_s("\n");
  float f=CalcOpr(Q);
  printf_s("--==[{Result}]==--\n");
  printf_s("[Q] = %+.0f\n",f);
  system("pause");
    return 0;
}
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.09.2009, 05:16     Найти детерминант (определитель) матрицы #10
Цитата Сообщение от pigah
Привет всем помогите найти в 2D массиве детерминант
Код
| x1 x2 | 
|       | =  x1*x4 - x2*x3
| x3 x4 |
Добавлено через 2 минуты
определитель любого порядка можно привести к определителю второго порядка
Adler
 Аватар для Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
23.09.2009, 08:33     Найти детерминант (определитель) матрицы #11
Кстати, насчёт матриц.
Как не страдать подобной фигнёй и скопировать одну матрицу в другую?
C++
1
for(int x=0;x<3;x++)for(int y=0;y<3;y++)B[x][y]=M[x][y];
Приветствуются два варианта, самый короткий и через копирование памяти.
И ещё я хотел спросить почему если я пишу так:
C++
1
B[x,y]
то ошибки не возникает, но выдаётся какая-то лажа?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.09.2009, 08:44     Найти детерминант (определитель) матрицы #12
это операция запятая

C
1
2
3
4
5
6
7
8
9
10
 
#include <stdio.h>
 
main()
{
    int n[3] = { 1, 2, 3 };
    
    printf("%d" "\n", n[0,1,2]);
    return 0;
}
вывод

Код
[guest@station src]$ ./test
3
[guest@station src]$



Добавлено через 2 минуты
C
1
2
3
#include <string.h>
...
    memcpy(B, M, sizeof M);
Adler
 Аватар для Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
23.09.2009, 10:38     Найти детерминант (определитель) матрицы #13
accept
Цитата Сообщение от accept Посмотреть сообщение
int n[3] = { 1, 2, 3 }; printf("%d" "\n", n[0,1,2]);
неожиданно . Спасибо!

Добавлено через 1 час 31 минуту
стоп, так это просто значение последнего указного элемента?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.09.2009, 11:00     Найти детерминант (определитель) матрицы #14
там две операции "запятая", первая операция возвращает 1, потом выполняется вторая операция, она возвращает 2

выполняется левый операнд, выполняется правый операнд, возвращается результат выполнения правого операнда
Adler
 Аватар для Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
23.09.2009, 11:09     Найти детерминант (определитель) матрицы #15
accept
а осмысленно применение у этих штук есть, кроме как запутать читающего программу?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
24.09.2009, 05:10     Найти детерминант (определитель) матрицы #16
да это просто операция, где хочешь, там и применяй
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2015, 12:40     Найти детерминант (определитель) матрицы
Еще ссылки по теме:

C++ Две матрицы размером 5 * 5. Найти детерминант их суммы, а также наименьшие и наибольшие элементы
C++ Найти определитель матрицы
Найти определитель матрицы C++

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

Или воспользуйтесь поиском по форуму:
ShortSound
0 / 0 / 0
Регистрация: 23.09.2014
Сообщений: 9
22.04.2015, 12:40     Найти детерминант (определитель) матрицы #17
.12312
Yandex
Объявления
22.04.2015, 12:40     Найти детерминант (определитель) матрицы
Ответ Создать тему
Опции темы

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