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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформировать список http://www.cyberforum.ru/cpp-beginners/thread1180200.html
Имеется 3 txt файла. В первом файле список людей их номер телефона и количество денег на телефоне. Во втором тарифы на связь В третьем по номерам расписаны расходы каждого абонента. Подскажите как реализовать список абонентов + сумма их расходов. Парюсь уже 4 день
C++ Определить, сколько из чисел, введенных пользователем, кратны пяти Здраствуйте!Помогите пожалуйста решить задачу в программе С++. За 10 сек. пользователем вводятся несколько целых чисел(кол-во каждый раз разное). Определить,сколько среди этих чисел,кратных пяти. Вывести все введенные значения на экран. http://www.cyberforum.ru/cpp-beginners/thread1180195.html
Фильтр для ввода целого числа в данном диапазоне C++
# include <iostream> # include <locale> using namespace std; int main () { setlocale (LC_ALL,"Russian"); int number; cout<<"Когда празднуется день независимости Украины?\n\n 1. 1 января\t\t 2. 1 мая\n\n 3. 24 августа\t\t 4. 24 сентября\n\n Ваш ответ: "; cin>>number; if (number==3)
C++ Пусть дана последовательность чисел
Пусть дана последовательность действительных чисел, которые заканчиваются 0. Определить есть ли это последовательность нарастающей.
C++ Доделать программу С++ http://www.cyberforum.ru/cpp-beginners/thread1180144.html
Помогите пожалуйста доделать программу. Нужно , чтобы при вводе любого НЕ трехразрядного шестнадцатеричного числа программа выдавала сообщение "Введите трехразрядное шестнадцатеричное число" или просто не видела эти числа. Задание:"Написать программу , которая преобразует введенное с клавиатуры трехразрядное шестнадцатеричное число в десятичное" Вот программа.Язык C++. Если не сложно...
C++ Как реализовать игру на два игрока Есть два обьекта. Как сделать так, чтобы каждым из них можно было отдельно управлять и стрелять? #include <hge.h> #include <hgesprite.h> #include <hgevector.h> #include <list> #include "c_player.h" #include "c_bullet.h" #include "c_enemy.h" подробнее

Показать сообщение отдельно
sportsman_92
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 3

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

18.05.2014, 22:08. Просмотров 534. Ответов 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; 
 }
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru