0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 3
1

Функция нахождения определителя матрицы с вычислением времени

18.05.2014, 22:08. Показов 3007. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, помогите доделать программу. Программа ищет определитель матрицы, данные заполняются рандомно либо от руки. Надо сделать еще функцию нахождения определителя матрицы через рекурсию. Также надо добавить время вычисления определителя... Программа выглядит следующим образом:
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream.h>
#include <iomanip.h>
#include <conio.h> 
#include <math.h>
#include <stdlib.h>
#include <time.h>
 
int** csmatr(int**,int);     // --- Функция создания и вывода матрицы ------ //
double determinant(int**,int);  // --- Функция вычисления определителя -----//
 
 
void main(void) 
{
  int **a,i,N,**matr; 
// --------------------    Указываем порядок матрицы ----------------------- //
  cout<<"Vvedite poryadok matrici: ";
  cin>>N;
  cout<<endl; 
// -------------------- Создание матрицы и вывод ее на экран ---------------- //
  a=csmatr(matr,N);
// -------------------- Вывод определителя на экран ------------------------ //
  cout<<"Opredelitel matrici = "<<determinant(a,N);
// -------------------- Освобождение памяти -------------------------------- //
  for (i=0;i<N;i++) delete a[i];
  delete a; 
 
  getch(); // функция ожидания нажатия на клавиатуру
} 
 
 
/*--------------------------------------------------------------------------- 
          Функция создания матрицы (обязательно должен быть динамический массив)
---------------------------------------------------------------------------*/ 
int** csmatr(int **matr,int N)
{ int i,j;
 
// --------------------    Формирование строк и столбцов матрицы ---------- //
cout<<"Viberite sposob zadaniya matrici\n <1> - randomno\n <2> - vvesti s klaviaturi\n";
        char c; //объявляем символьную переменную а
        c=getch(); //Ждем ввода символа в переменную а
 
if(c=='1'){
time_t t;                       // подключается для того, чтобы
srand((unsigned) time(&t));   // случайные числа каждый раз были разными
  for (i=0;i<N;i++)
{
   matr[i]= new int[N];    //выделяем память для каждой строки
   for (j=0;j<N;j++)
   {
      matr[i][j] = rand() % 10;  //матрица заполняется случ. числами от 0 до 9
   }
}      }
if(c=='2'){
for(i=0;i<N;i++) {
matr[i]= new int[N];    //выделяем память для каждой строки
for(j=0;j<N;j++) {
cout<<"matr["<<i<<"]["<<j<<"]=";
cin>>matr[i][j];   }      //вводим матрицу с клавиатуры
           }
           }
// ----------------------- Выводим матрицу на эран ------------------------- //
for(i=0;i<N;i++){
for(j=0;j<N;j++)
cout<<setw(4)<<matr[i][j];
cout<<endl<<endl;}
 
 return matr; 
 
} 
 
 
/*--------------------------------------------------------------------------- 
            Функция вычисления определителя
---------------------------------------------------------------------------*/
double determinant(int **a, int N) 
{ 
  int i,j; 
  int **matr1;
  double determ=0;
 
  if (N==1)
  {
    determ=a[0][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; 
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2014, 22:08
Ответы с готовыми решениями:

И снова класс Матрицы с функция-член класса для нахождения определителя
Проблема в следующем испробовал все варианты, которые закомментированы, все рабочие ну некоторые с...

Подскажите метод нахождения обратной матрицы и определителя матрицы
Подскажите метод нахождения обратной матрицы и определителя матрицы на С#

Функция time для вычисления скорости нахождения Определителя.Dev-C++7.3.1.3
Добрый день. Помогите немного подкорректировать код. В main'е switch'ом выбирается 3...

Программа для нахождения определителя матрицы
#include&lt;iostream&gt; #include&lt;iomanip&gt; #include&lt;stdio.h&gt; #include&lt;math.h&gt; using namespace std;...

3
Заблокирован
18.05.2014, 22:26 2
Ты находишься на ветке С++, что тебе конкретное не понятно в нюансах языка программирования?
0
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 3
19.05.2014, 00:25  [ТС] 3
мне так то много чего непонятно, я мало в чем тут разбираюсь. И этот код подредактировал под себя, нашел на форуме. Так что, отвечая на твой вопрос, я могу сказать что плохо знаю язык программирования. Если не трудно, то я не отказываюсь от помощи)
0
0 / 0 / 1
Регистрация: 27.09.2013
Сообщений: 16
22.12.2014, 21:43 4
А как эту функцию в класс матрицы засунуть?? точнее как потом в main ее вызывать???? может кто знает...а то аналогичный вопрос поднял...
И снова класс Матрицы с функция-член класса для нахождения определителя
0
22.12.2014, 21:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2014, 21:43
Помогаю со студенческими работами здесь

Формула для нахождения определителя матрицы
Здравствуйте! У меня имеется небольшой вопрос: как записать формулу для нахождения определителя...

Нужен пример нахождения определителя матрицы
Подскажите пожалуйста простенький пример нахождения определителя матрицы?

Макрос нахождения определителя матрицы методом Гаусса
Ребят, мне очень очень очень нужен макрос причем срочно(( буквально к утру. дана система : ...

Написать функцию для нахождения определителя квадратной матрицы
Здравствуйте! Помогите, пожалуйста, написать функцию для нахождения определителя квадратной матрицы


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru