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

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

Войти
Регистрация
Восстановить пароль
 
sportsman_92
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 3
#1

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

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

Ребят, помогите доделать программу. Программа ищет определитель матрицы, данные заполняются рандомно либо от руки. Надо сделать еще функцию нахождения определителя матрицы через рекурсию. Также надо добавить время вычисления определителя... Программа выглядит следующим образом:
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; 
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2014, 22:08     Функция нахождения определителя матрицы с вычислением времени
Посмотрите здесь:

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

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

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

Формула для нахождения определителя матрицы - C++
Здравствуйте! У меня имеется небольшой вопрос: как записать формулу для нахождения определителя матрицы(ранг&gt;2) на с++? Считать...

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

Код для нахождения определителя матрицы N на N исключением строки и столбца - C++
Подскажите пожалуйста код для нахождения определителя матрицы N на N исключением строки и столбца

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newbie666
Заблокирован
18.05.2014, 22:26     Функция нахождения определителя матрицы с вычислением времени #2
Ты находишься на ветке С++, что тебе конкретное не понятно в нюансах языка программирования?
sportsman_92
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 3
19.05.2014, 00:25  [ТС]     Функция нахождения определителя матрицы с вычислением времени #3
мне так то много чего непонятно, я мало в чем тут разбираюсь. И этот код подредактировал под себя, нашел на форуме. Так что, отвечая на твой вопрос, я могу сказать что плохо знаю язык программирования. Если не трудно, то я не отказываюсь от помощи)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2014, 21:43     Функция нахождения определителя матрицы с вычислением времени
Еще ссылки по теме:

Реализовать функцию нахождения определителя квадратной матрицы заданного размера - C++
Необходимо написать программу, матрица 3 на 3, найти чему равен определитель. Реализовать используя функцию.

Функция класса(вычисление определителя произвольной матрицы) работает не правильно(постоянно определитель 0) - C++
void deterMatr(matr matrx) { if (matrx.rows == matrx.columns){ //приведение матрицы к треугольному виду int maxl, k; ...

Функция нахождения следа матрицы - C++
Даны две квадратные матрицы nxn. Напечатать ту из них, которая имеет минимальный &quot;след” (т.е. сумму элементов главной диагонали). При...

Функция нахождения минимального элемента заданного столбца матрицы - C++
Написать библиотеку функций для работы с квадратной целочисленной матрицей а)Функция для инициализации массива случайными числами из...

Функция с вычислением нескольких факториалов и их использование в формуле - C++
Всем привет. Мне нужно вычислить функцию С из n по m. Ее формула C = factorial(n) / factorial(n-m) - factorial(m). Я реализовал все три...

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


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

Или воспользуйтесь поиском по форуму:
Kerberos56
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 14
22.12.2014, 21:43     Функция нахождения определителя матрицы с вычислением времени #4
А как эту функцию в класс матрицы засунуть?? точнее как потом в main ее вызывать???? может кто знает...а то аналогичный вопрос поднял...
И снова класс Матрицы с функция-член класса для нахождения определителя
Yandex
Объявления
22.12.2014, 21:43     Функция нахождения определителя матрицы с вычислением времени
Ответ Создать тему
Опции темы

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