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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
PaulZy
Сообщений: n/a
#1

Определитель 2мерной матрицы n-порядка - C++

13.10.2011, 15:01. Просмотров 887. Ответов 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
#include <iostream.h> 
 #include <conio.h> 
 #include <math.h> 
  
 int** csmatr(int**,int);     
 double determinant(int**,int);
  
 void main(void) 
 { 
   int **a,i,N,**matr; 
   cout<<"Введите порядок матрицы: "; cin>>N; 
   cout<<'\n'; 
 
   a=csmatr(matr,N); 
 
   cout<<"Определитель матрицы = "<<determinant(a,N); 
 
   for (i=0;i<=N-1;i++) delete a[i]; 
   delete a; 
  
   getch(); 
 } 
 
 int** csmatr(int **matr,int N) 
 { 
   int i,j; 
   matr=new int*[N]; 
 
   for (i=0;i<=N-1;i++)   {matr[i]=new int[N];} 
  
  return matr; 
  
 } 
// функция вычисления определителя:
 
 double determinant(int **a, int N) 
 { 
   int i,j; 
   int **matr1;
   double determ=0; 
  
   if (N==2) 
   { 
     determ=a[0][0]*a[1][1]-a[0][1]*a[1][0]; 
   } 
   else 
   { 
     matr1=new int*[N-1]; 
  
     for(i=0;i<N;i++) 
     { 
       for(j=0;j<N-1;j++) 
     { 
       if(j<i)   {matr1[j]=a[j];} 
       else      {matr1[j]=a[j+1];} 
     } 
       determ+=pow(-1,(i+j))*determinant(matr1,N-1)*a[i][N-1]; 
     } 
     delete matr1; 
   } 
  
   return determ; 
   cout<<'\n';
Объясните пожалуйста что произходит с 47 по 56 строку в функции вычисления определителя
- я так понял с помощью указателей выборка минора из массива. - причем мы проходим по всем элементам кроме последнего столбика - пытался на примере 3х3 разобрать - какая-то ерунда получается...
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2011, 15:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определитель 2мерной матрицы n-порядка (C++):

Определитель матрицы n-го порядка - C++
Доброго времени суток) Ребят,срочно нужна функция,которая вычисляет определитель матрицы NxN без использования рекурсии....

Вычислить определитель матрицы третьего порядка - C++
1) вычислить с помощью с++ определитель матрицы третьего порядка. 2) вычислить для заданной матрицы второго порядка обратную ей матрицу. ...

Вычислить определитель квадратной матрицы второго порядка - C++
Дорогие программисты!!! Мне очень нужна ваша помощь=) если вам не трудно, напишите пожалуйста программу на С++ , которая вычисляет...

Вычислить определитель квадратной матрицы третьего порядка - C++
Написать программу, которая вычисляет определитель квадратной матрицы третьего порядка.

Найти определитель заданной матрицы n-го порядка методом Гаусса - C++
1)Матрицу A(m,n) случайным образом заполнить разными целыми числами от 1 до m x n. 2)Найти определитель заданной матрицы n-го порядка...

Программа,вычисляющая определитель n порядка - C++
Здавствуйте, требуется написать программу,которая вычисляет определитель квадратной матрицы n-го порядка. Первоначально,хотел написать...

1
-=ЮрА=-
Заблокирован
Автор FAQ
13.10.2011, 15:19 #2
Цитата Сообщение от PaulZy Посмотреть сообщение
matr1=new int*[N-1];
- выделение памяти под матрицу с вычеркнутой строкой и столбцом (когда минор считаем делаем "вычёркивание")

Цитата Сообщение от PaulZy Посмотреть сообщение
for(i=0;i<N;i++)
* * *{
* * * *for(j=0;j<N-1;j++)
* * *{
* * * *if(j<i) * {matr1[j]=a[j];}
* * * *else * * *{matr1[j]=a[j+1];}
* * *}
- копируем в минор элементы из исходной матрицы

Не по теме:

PS:Корректность вычислений этого алгоритма держу под сомнением, мне кажется косяк есть в нахождении алгебраических дополнений через миноры, хотя я бегло смотрел мог и не разобраться

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2011, 15:19
Привет! Вот еще темы с ответами:

Из матрицы n-го порядка получить матрицу порядка n-1, удалив из исходной матрицы указанные строки и столбцы - C++
Из матрицы n-го порядка получить матрицу порядка n-1 путем удаления из исходной матрицы строки и столбца, на пересечении которых расположен...

Определитель n-ого порядка (непорядок с рекурсией) - C++
Всем доброго времени суток! Написал программу, которая должна считать определитель заданного порядка разложением на миноры. Вроде уже...

Определитель матрицы, ранг матрицы, обратная матрица - C++
Вы можете помочь, сделать определитель матрицы, или у кого есть коде: ранг матрицы, обратная матрица, или другие действия с матрицами.

Определитель Матрицы - C++
доброе время суток Напишите у кого есть код нахождения определителя матрицы мне надо 4х4 ну а nxn, соответственно тоже подойдёт !!!! ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru