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

Найти детерминант (определитель) матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить количество дней в году http://www.cyberforum.ru/cpp-beginners/thread52030.html
Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а высокосный-366. Высокосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400. я так понимаю что её надо решать через оператор if но как записать вот это деление на 4,100 и т.д. я не знаю. Прошу помощи в решении....
C++ Нахождение суммы Помогите пожалуйста решить задачу. Даны натуральные числа N и M(N>M) вычислить: S=знак суммы(E),вверху N внизу k=M (k^2*ln(k!)) http://www.cyberforum.ru/cpp-beginners/thread52025.html
C++ Описать функцию, которая включает в упорядоченный по убыванию список новое значение
Помогите плиз с задачкой. Динамические структуры. С++ В составе программы описать функцию, которая включает в упорядоченный по убыванию список новое значение, введенное с клавиатуры, таким образом, чтобы не нарушать упорядоченность. Заранее большое спасибо.
Найти слово в предложении C++
Здравствуйте, помогите решить задачу по С++ Задача : В предложении найти слово имеющее наибольшее количество разных символов. Спасибо за ответы.
C++ Почему прога не выходит из цикла? http://www.cyberforum.ru/cpp-beginners/thread51982.html
#include <stdio.h> int main () {unsigned int s,a,k,n,min,max,kol; min=0; a=0; s=0; kol=0; max=0; scanf ("%d\n",&k); n=0;
C++ Как работать с динамической матрицей в классе? В задании было написано найти строки в которых все элементы чётные. Это сделать легко, но вот потом оказалось, что это надо было сделать через классы. Но как - я не знаю :( Помогите плиз примером... подробнее

Показать сообщение отдельно
Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
22.09.2009, 23:45     Найти детерминант (определитель) матрицы
Поможем

Добавлено через 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
#include <stdlib.h>
 
typedef float Mat3x3[3][3];
 
void Print(Mat3x3 M)
{
  for(int i=0;i<3;i++)printf_s("%+.0f %+.0f %+.0f\n",M[i][0],M[i][1],M[i][2]);
}
 
void DelS(Mat3x3 M,Mat3x3 &B,int s)
{
  for(int x=0;x<3;x++)for(int y=0;y<3;y++)B[x][y]=M[x][y];
  for(int i=s;i<3;i++){for(int k=0;k<3;k++){if(i<2){B[i][k]=M[i+1][k];}else{B[i][k]=0;}};}
};
 
void DelC(Mat3x3 M,Mat3x3 &B,int s)
{
  for(int x=0;x<3;x++)for(int y=0;y<3;y++)B[x][y]=M[x][y];
  for(int j=s;j<3;j++){for(int k=0;k<3;k++){if(j<2){B[k][j]=M[k][j+1];}else{B[k][j]=0;}};}
};
 
float CalcOpr(Mat3x3 M)
{
  Mat3x3 B;
  int i=2,j=0;
  float Result=0; float Aij;
  for(int j=0;j<3;j++)
  {
    for(int x=0;x<3;x++)for(int y=0;y<3;y++)B[x][y]=M[x][y];
    DelS(M,B,i); DelC(B,B,j);
    Aij=M[i][j]*(B[0][0]*B[1][1]-B[0][1]*B[1][0]);
    if(((i+j)%2))Aij*=-1;
    printf_s("A[i,j] = %+.0f\n",Aij);
    Result+=Aij;
  }
  return Result;
}
 
Mat3x3 Q={{+1,-1,+4},
          {+2,+3,+7},
          {-4,+0,+2}};
 
int _tmain(int argc, _TCHAR* argv[])
{
  Print(Q);
  printf_s("\n");
  float f=CalcOpr(Q);
  printf_s("--==[{Result}]==--\n");
  printf_s("[Q] = %+.0f\n",f);
  system("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru