Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
7 / 7 / 3
Регистрация: 08.02.2013
Сообщений: 42

Нахождения детерминанта

18.02.2013, 18:33. Показов 839. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Это функция для нахождения детерминанта 3 степени -
C++
1
2
3
4
5
6
7
double thre(double a,double  x,double  c,double a1,double x1,double c1,double a2,double x2,double c2)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    double delt = (a * x1 * c2) + (a1 * x2 * c) + (x * c1 * a2) - (c * x1 * a2) - (x * a1 * c2) - (c1 * x2 * a);
    return delt;
}
Это функция для нахождения детерминанта 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
    #include <iostream>
    #include <cstdlib>
    #include <windows.h>
    #include "Header3.h"
    using namespace std;
    void forxfor()
    {
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
        double a, x, c, b, f;
        double a1,x1,c1,b1,f1;
        double a2,x2,c2,b2,f2;
        double a3,x3,c3,b3,f3;
        cout << "Введіть коефіцієнт x y z b і це, що після знака дорівнює : " <<endl;
        cin >> a >> x >> c >> b >> f; 
        cout << "Введіть коефіцієнт x1 y1 z1 b1 і це, що після знака дорівнює : " <<endl;
        cin >> a1 >> x1 >> c1 >> b1 >> f1;
        cout << "Введіть коефіцієнт x2 y2 z2 b2 і це, що після знака дорівнює : " <<endl;
        cin >> a2 >> x2 >> c2 >> b2 >> f2;
        cout << "Введіть коефіцієнт x3 y3 z3 b3 і це, що після знака дорівнює : " <<endl;
        cin >> a3 >> x3 >> c3 >> b3 >> f3;
        double delta = a * thre(x1,c1,b1,x2,c2,b2,x3,c3,b3) - a1 * thre(x, c, b,x2,c2,b2,x3,c3,b3) + a2 * thre(x, c, b,x1,c1,b1,x3,c3,b3) - a3 * thre(x, c, b,x1,c1,b1,x2,c2,b2);
        double delta1 = f * thre(x1,c1,b1,x2,c2,b2,x3,c3,b3) - f1 * thre(x, c, b,x2,c2,b2,x3,c3,b3) + f2 * thre(x, c, b,x1,c1,b1,x3,c3,b3) - f3 * thre(x, c, b,x1,c1,b1,x2,c2,b2);
        double rozv_x = delta1 / delta;
        double delta2 = a * thre(f1,c1,b1,f2,c2,b2,f3,c3,b3) - a1 * thre(f, c, b,f2,c2,b2,f3,c3,b3) + a2 * thre(f, c, b,f1,c1,b1,f3,c3,b3) - a3 * thre(f, c, b,f1,c1,b1,f2,c2,b2);
        double rozv_y = delta2 / delta;
        double delta3 = a * thre(x1,f1,b1,x2,f2,b2,x3,f3,b3) - a1 * thre(x, f, b,x2,f2,b2,x3,f3,b3) + a2 * thre(x, f, b,x1,f1,b1,x3,f3,b3) - a3 * thre(x, f, b,x1,f1,b1,x2,f2,b2);
        double rozv_z = delta3 / delta;
        double delta4 = a * thre(x1,c1,f1,x2,c2,f2,x3,c3,f3) - a1 * thre(x, c, f,x2,c2,f2,x3,c3,f3) + a2 * thre(x, c, f,x1,c1,f1,x3,c3,f3) - a3 * thre(x, c, f,x1,c1,f1,x2,c2,f2);
        double rozv_b = delta4 / delta;
        if ( delta == 0 )
        {
            cout << "Визначник = 0, помилка при коефіцієнтах"<<endl;
        }
        else
        {
        cout<< "x = " << delta1 << " / " << delta <<" = "<< rozv_x <<endl;
        cout << "y = " << delta2 << " / " << delta  <<" = "<<rozv_y <<endl;
        cout << "z = " << delta3 << " / " << delta  <<" = "<<rozv_z <<endl;
        cout << "b = " << delta4 << " / " << delta  <<" = "<<rozv_b <<endl;
        }
    }
Помогите максимально уменьшить этот код.
и на всякий случай сам код программ -
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
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <windows.h>
#include "det2.h"
#include "header1.h"
#include "header2.h"
#pragma once;
#include <string>
using namespace std;
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int otvet;
    cout << "Введіть порядок матриці 2 | 3 | 4 : ";
    cin >> otvet;
    if (otvet == 2)
    {
        twoxtwo();
    }
    if (otvet == 3)
    {
        threxthre();
    }
    if (otvet == 4)
    {
        forxfor();
    }
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.02.2013, 18:33
Ответы с готовыми решениями:

Нахождения детерминанта
Всю голову уже сломал и не могу понять в чем дело. Вот начало кода функции вычисляющей определитель матрицы методом Гаусса: int...

паралелльное определение детерминанта
Вроде как полно в интернете как найти определитель, но не как пойму как же все это реализовать. Буду очень рад за готовый код ))

Не работает вычисление детерминанта матрицы
Всем привет! Есть класс матрица. Один из его методов - вычисление определителя. На нем валится программа. Не могу понять, почему(...

1
4 / 4 / 3
Регистрация: 04.10.2009
Сообщений: 22
18.02.2013, 19:41
ух) для начала целесобразней матрицу хранить в виде массива
а детерминант для матрицы произвольного размера можно высчитать используя рекурсию методом разложения по строке и столбцу.
и там кода будет немного и твоя функция будет универсальна
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.02.2013, 19:41
Помогаю со студенческими работами здесь

Нахождение детерминанта (определителя) матрицы
У меня вот код есть для нахождения детерминанта (определителя) матрицы 5х5 :) а как сделать, чтобы я мог сам ввести данные матрицы? ...

Нахождение детерминанта матрицы и её ручной ввод
Здравствуйте! Который вот уже день бьюсь! Не могу найти ошибку! Нужно поставить ручной ввод и найти детерминант. Матрица сначала...

Нахождение детерминанта матрицы. Матрица читается из файла.
#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;sys/file.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using...

Есть ли нерекурсивный алгоритм вычисления детерминанта квадратной матрицы nxn?
Я в алгебре очень слаб. В голове есть идея вычислить детерминант по перестановкам, но в голову не приходит алгоритм перебора всех...

Ошибка "Нарушение доступа для записи" при выделение памяти для поиска детерминанта квадратной матрицы
Добрый день! Делаю простое приложение по поиску детерминанта квадратной матрицы. Чтобы искать детерминант матрицы с размерностью больше...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru