1

Тема: Метод Крамера С++

Всім привіт.

Допоможіть, будь-ласка, з реалізацією процесу рішення системи трьох лінійних рівнянь з трьома невідомими використовуючи метод Крамера (блок-схема https://www.mathros.net.ua/rozvjazok-sy … amera.html).
Проблема виникає при формуванні допоміжних визначників.

2

Re: Метод Крамера С++

задарма не працюю. та й там ж все написано.  *SCRATCH*

3

Re: Метод Крамера С++

#include <iostream>
int matrix[10][10]{ { 5,-3, 1,-2}, 
                  {   1, 2, 3, 1}, 
                  {   6,-3,-1, 3} };

int main()
{  
    int determinant =
        matrix[0][0] * matrix[1][1] * matrix[2][2] +
        matrix[0][1] * matrix[1][2] * matrix[2][0] +
        matrix[1][0] * matrix[2][1] * matrix[0][2] -
        matrix[0][2] * matrix[1][1] * matrix[2][0] -
        matrix[0][1] * matrix[1][0] * matrix[2][2] -
        matrix[1][2] * matrix[2][1] * matrix[0][0];
    
    int determinant_a =
        matrix[0][3] * matrix[1][1] * matrix[2][2] +
        matrix[0][1] * matrix[1][2] * matrix[2][3] +
        matrix[1][3] * matrix[2][1] * matrix[0][2] -
        matrix[0][2] * matrix[1][1] * matrix[2][3] -
        matrix[0][1] * matrix[1][3] * matrix[2][2] -
        matrix[1][2] * matrix[2][1] * matrix[0][3];

    int determinant_b =
        matrix[0][0] * matrix[1][3] * matrix[2][2] +
        matrix[0][3] * matrix[1][2] * matrix[2][0] +
        matrix[1][0] * matrix[2][3] * matrix[0][2] -
        matrix[0][2] * matrix[1][3] * matrix[2][0] -
        matrix[0][3] * matrix[1][0] * matrix[2][2] -
        matrix[1][2] * matrix[2][3] * matrix[0][0];

    int determinant_c =
        matrix[0][0] * matrix[1][1] * matrix[2][3] +
        matrix[0][1] * matrix[1][3] * matrix[2][0] +
        matrix[1][0] * matrix[2][1] * matrix[0][3] -
        matrix[0][3] * matrix[1][1] * matrix[2][0] -
        matrix[0][1] * matrix[1][0] * matrix[2][3] -
        matrix[1][3] * matrix[2][1] * matrix[0][0];
    
    float x1 = static_cast<float>(determinant_a) / determinant;
    float x2 = static_cast<float>(determinant_b) / determinant;
    float x3 = static_cast<float>(determinant_c) / determinant;
    std::cout << "determinant = " << determinant << std::endl;
    std::cout << "determinant 1 = " << determinant_a << std::endl;
    std::cout << "determinant 2 = " << determinant_b << std::endl;
    std::cout << "determinant 3 = " << determinant_c << std::endl;
    std::cout << "X1 = " << x1 << std::endl;
    std::cout << "X2 = " << x2 << std::endl;
    std::cout << "X3 = " << x3 << std::endl;
}

4

Re: Метод Крамера С++

big-boss777 написав:

Проблема виникає при формуванні допоміжних визначників.

код показуйте

5 Востаннє редагувалося Droid 77 (20.11.2022 00:37:48)

Re: Метод Крамера С++

koala написав:
big-boss777 написав:

Проблема виникає при формуванні допоміжних визначників.

код показуйте

Навіщо?
Гуглиться ж на раз ..
Невже і гуглити вже лінуються?  :o

6

Re: Метод Крамера С++

Droid 77 написав:

Гуглиться ж на раз ..
Невже і гуглити вже лінуються?  :o

Ви можете нагуглити код конкретної людини з конкретною проблемою за її ніком на ріплейсі?

Подякували: leofun011

7

Re: Метод Крамера С++

koala написав:
Droid 77 написав:

Гуглиться ж на раз ..
Невже і гуглити вже лінуються?  :o

Ви можете нагуглити код конкретної людини з конкретною проблемою за її ніком на ріплейсі?

Дійсно ґуґлиться, але майже всі посиланя ведуть на болото.

Подякували: Tarpan871