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

Киньте Пожалуйста функцию обратной матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ вычислить значение функции http://www.cyberforum.ru/cpp-beginners/thread1306374.html
Текст задачи надо переписывать!!!!!
C++ Нужно найти длину самой длинной подпоследовательности, в которой равное количество 0 и 1. Здравствуйте. Задана последовательность из 0 и 1. Нужно найти длину самой длинной подпоследовательности, в которой равное количество 0 и 1. Реализовал простым перебором за O (n2). Подкиньте идею как сделать за O (n). http://www.cyberforum.ru/cpp-beginners/thread1306373.html
Как представить натуральное число в виде произведения двух простых чисел C++
Нашел что то похожее только, там 3 простых числа, и проблема в том что код написан на Paskalе, если можете объяснить или написать код для Borland C++, буду очень признателен Код с 3мя простыми числами: uses crt; function Prost(n:longint):boolean; var i:longint; f:boolean; begin if i<2 then f:=false else begin
C++ Дан текстовый файл с неизвестным количеством вещественных чисел
Дан текстовый файл с неизвестным количеством вещественных чисел. Написать функцию для определения есть ли среди них число у которого сумма цифр целой и дробной части равны
C++ Дана матрица размерностью 6х6 http://www.cyberforum.ru/cpp-beginners/thread1306369.html
Дана матрица размерностью 6х6.В этой матрице найти минимальный элемент,лежащий ниже побочной диагонали, и заменить его на 0
C++ Задача на двумерные массивы Заменить элементы главной диагонали матрицы целых чисел 5х5 суммами элементов столбцов. void __fastcall TForm1::Button1Click(TObject *Sender) {int a,i,j; int S; for(i=0;i<5;i++) for(j=0;j<5;j++) a=StrToFloat(StringGrid1->Cells); for(j=0;j<5;j++) S=0; for(i=0;i<5;i++) подробнее

Показать сообщение отдельно
Zver6233
36 / 36 / 8
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1

Киньте Пожалуйста функцию обратной матрицы - C++

20.11.2014, 21:47. Просмотров 106. Ответов 0
Метки (Все метки)

Нашел такую функцию но у меня вибивает деления на ноль.
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
void Invert(int *matrix)
{ int i,j;
  int e[size][size];
  // initializing matrix e
  for (i=0;i<size;i++)
    for (j=0;j<size;j++)
      e[i][j]=(i==j?1:0);
  // converting matrix to e
  for(i=0;i<size;i++)
  {
    // normalizing row (making first element =1)
    int tmp=*(matrix+i*size+i);
    for(int j=size-1;j>=0;j--)
    {
      e[i][j]/=tmp;
      *(matrix+i*size+j)/=tmp;
    }
    // excluding i-th element from each row except i-th one
    for(j=0;j<size;j++)
      if (j!=i)
      {
        tmp=*(matrix+j*size+i);
        for(int k=size-1;k>=0;k--)
        {
          e[j][k]-=e[i][k]*tmp;
          *(matrix+j*size+k)-=*(matrix+i*size+k)*tmp;
        }
      }
  }
  // now e contains inverted matrix so we need only to copy e to matrix
  for(i=0;i<size;i++)
    for(int j=0;j<size;j++)
      *(matrix+i*size+j)=e[i][j];
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru