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

Решение системы линейных уравнений - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверка корректности ввода чисел http://www.cyberforum.ru/cpp-beginners/thread386536.html
считывается квадратная матрица с файла Как написать условие в коде,если после пробела идет не число то if(тут какое условие?) { cout<<"error.nepolnay matrica" return 0; } считывается квадратная матрица с файла Избегайте использования слишком большого количества смайлов в сообщениях в тематических разделах форума, а также "кричащего" выделения текста. Это никаким образом не ускорит...
C++ Написать функцию с использованием массивов.. Которая вставляет элементы в монотонно возрастающую последовательность с сохранением сортировки http://www.cyberforum.ru/cpp-beginners/thread386529.html
C++ Есть две переменные типа int. Обменять их значения без использования третьей переменной
Вот давно пытался, но не получалось реализовать в исходном коде такую задачу: "Есть две переменные типа int. Обменять их значения без использования третьей переменной" У кого какие идеи? Название темы должно максимально близко соответствовать её содержимому
Обращение к Lpt порту C++
Всем привет !! У меня такая проблимка мне надо написать программу которая будет выщитывать двоичный код затем обращаться к лпт порту и подавать сигнал либо не подавать на отдельные выводы к которым будут подключены светодиоды но я не знаю какие операторы выполняют действие с Лпт портами . Зарание благодарю!
C++ Метод половинного деления http://www.cyberforum.ru/cpp-beginners/thread386522.html
Здраствуйте!!!Помогите пожалуйста,найти корень уравнения в Си 2(x^2)-5-2^x=0 на отрезке методом половинного деления с точностью до E=10^(-6) Заранее спасибо.
C++ Умножение матриц Есть 2 функции перемножения квадратных матриц N*N вторая функция транспонирует вторую матрицу для того, чтобы перемножение шло строка на строку, для более эффективного использования кэша, только почему то работает намного медленнее первой, в чем может быть проблема? само транспонирование выполняется мгновенно, проверял на матрицах с размерностью 100-1000 элементов void mul(float* a,float*... подробнее

Показать сообщение отдельно
mdt::Vladimir
8 / 8 / 0
Регистрация: 23.09.2011
Сообщений: 32
18.11.2011, 19:17     Решение системы линейных уравнений
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
void stdsolve(double **matrix, double *res, int size)
{
    int i,j,k;
    //прямой ход
    for (i=0; i<size; i++)
    {
        double div1 = 1.0 / matrix[i][i];
        matrix[i][i] = 1.0;
        for (j=i+1; j<=size; j++)
            matrix[i][j] *= div1;
        for (j=i+1; j<size; j++)
        {
            double mul = matrix[j][i];
            for (k=i+1; k<=size; k++)
            {
                matrix[j][k] -= matrix[i][k] * mul;
            }
        }
    }
    //обратный ход
    for (i=size-1; i>=0; i--)
    {
        res[i] = matrix[i][size];
        for (j=0; j<i; j++)
            matrix[j][size] -= matrix[j][i] * res[i];
    }
}
 
int main()
{
    double a[] = {0.06, 0.92, 0.03, -0.82, 0.99, 0.01, 0.07, 0.66, 1.01, 0.02, 0.99, 0.98};
    double *A[3] = {&a[0], &a[4], &a[8]};
    double res[3];
    stdsolve(A, res, 3); //результат будет в res
}
Просто как раз этим занимаюсь в данный момент )) Правда может немного нестандартная реализация
 
Текущее время: 22:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru