Решение СЛАУ по модулю

122
09 января 2018, 14:44

Ребят, подскажите пожалуйста. Каким способом, можно решить СЛАУ, если у тебя ответы даны по модулю. Пытался Гауссом, не правильно считает. Или Надо другим методом?

Вот правильно работающий метод Гаусса:

#include <iostream>
#include <math.h>
#include <stdlib.h>
using namespace std;
int main()
{
    int i, j, n, m=0;
    //создаем массив
    cout << "Number of equations: ";
    cin >> n;
    cout << "Number of variables: ";
    cin >> m;
    n = 3;
    m += 1;
//  float matrix[3][4];
    float **matrix = new float *[n];
    for (i = 0; i<n; i++)
        matrix[i] = new float[m];
    //инициализируем
    for (i = 0; i<n; i++)
        for (j = 0; j<m; j++)
        {
            cout << " Element " << "[" << i + 1 << " , " << j + 1 << "]: ";
            cin >> matrix[i][j];
        }
    //выводим массив
    cout << "matrix: " << endl;
    for (i = 0; i<n; i++)
    {
        for (j = 0; j<m; j++)
            cout << matrix[i][j] << " ";
        cout << endl;
    }
    cout << endl;
    //Метод Гаусса
    //Прямой ход, приведение к верхнетреугольному виду
    float  tmp;
    int k;
    float *xx = new float[m];
    for (i = 0; i<n; i++)
    {
        tmp = matrix[i][i];
        for (j = n; j >= i; j--)
            matrix[i][j] /= tmp;
        for (j = i + 1; j<n; j++)
        {
            tmp = matrix[j][i];
            for (k = n; k >= i; k--)
                matrix[j][k] -= tmp*matrix[i][k];
        }
    }
    /*обратный ход*/
    xx[n - 1] = matrix[n - 1][n];
    for (i = n - 2; i >= 0; i--)
    {
        xx[i] = matrix[i][n];
        for (j = i + 1; j<n; j++) xx[i] -= matrix[i][j] * xx[j];
    }
    //Выводим решения
    for (i = 0; i<n; i++)
        cout << xx[i] << " ";
    cout << endl;
    delete[] matrix;
    system("pause");
    return 0;
}

Правильно работает при

    101 47
    120 53
    030 54

Должны получиться ответы: 30 18 17. А как сделать, чтобы он так же правильно решал, когда ответы даны по модулю? Например по модулю 46:

101 1
120 7
030 8
READ ALSO
Можно ли конвертировать &ldquo;std::function&lt;int(int)&gt;&rdquo; в &ldquo;typedef int (*MyFunction) (int k);&rdquo;

Можно ли конвертировать “std::function<int(int)>” в “typedef int (*MyFunction) (int k);”

Доброго времени сутокПодскажите есть ли какой нибудь способ осуществить перевод из типа "std::function<int(int)>" в тип "int (*MyFunction) (int k);"

200
вопрос а getline

вопрос а getline

я написал этот код но он не работаеткак исправить этот код

150
java app в eclipse

java app в eclipse

Изучаю тему Servlet/jsp , работаю в EclipseХочу в целях тренировки работы с сервлетами и базой данных написать простое веб приложение

214
отскакивание от прямых

отскакивание от прямых

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

204