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

Решение систем алгебраических уравнений - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Преобразование Int в char http://www.cyberforum.ru/cpp-beginners/thread1219710.html
от скуки баловался с кодом.решил проверить,можно ли сделать так? #include <iostream> int main(){ char b = 't'; int a =b; std::cout <<b; system("pause"); }
C++ Найти все трехзначные числа, состоящие из разных цифр, сумма которых равна А Найти все трехзначные числа, которые состоят из разных цифр, а их сумма ровна А (число А вводится с клавиатуры). http://www.cyberforum.ru/cpp-beginners/thread1219709.html
C++ Объяснить работу двух кодов
char a={"kakogo hrena?"}; cout<<a<<endl; // kakogo hrena? и int a={11,22,33}; cout<<a<<endl; // 001cfb50 Собсно почему в первом случае выводит весь символьный масив? Должен ЖЕ выводить тоже что и во втором случае - адрес а. Почему так? И почему сразу весь масив... попробывал через отдельный указатель. Кстати с этого примера все и началось увидел в книге и мозг повис. Что это? Что...
Необходимо найти самое длинное слово и удалить все его вхождения C++
самое длинное слово я нахожу, но вот как его удалить? #include "stdafx.h" #include <iostream> #include <cstring> using namespace std; int main(); int _tmain(int argc, _TCHAR* argv)
C++ Найти сумму между двумя введенными числами, включая эти числа http://www.cyberforum.ru/cpp-beginners/thread1219662.html
Не работает примитивная программа Здравствуйте. Суть программы заключается в нахождении суммы между 2-мя введенными числами,включая эти числа. При компилировании ,вводя любые числа,ответ показывает один и тот же,а именно -2. Алгоритм вроде верный,но вот ошибку найти не получается #include<iostream> int main(){ std::cout <<" write 2 letters and you'll see the sum of them" << std:: endl;...
C++ Регулировка скорости вывода символа на экран Задача поставлена следующая - вывести на экран линию из символов, параметры которой задаются пользователем. В числе прочих есть параметр скорости вывода. Всё сделал кроме него. Пробовал его реализовать через Sleep(), но программа ждёт всю паузу, а потом сразу символы выводит. Вот последний ее вариант: #include<iostream> #include<windows.h> using namespace std; void main() {... подробнее

Показать сообщение отдельно
gru74ik
Модератор
 Аватар для gru74ik
3109 / 1335 / 166
Регистрация: 20.02.2013
Сообщений: 3,793
Записей в блоге: 17
30.06.2014, 13:04     Решение систем алгебраических уравнений
Вот нашёл код. Автор кода говорит, что рабочий. Проверяйте, разбирайтесь.
Кликните здесь для просмотра всего текста

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include<iostream>
#include <math.h>
#include <stdlib.h>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int i, j, n, m;
    //создаем массив
    cout << "Введите число уравнений: ";
    cin >> n;
    cout << "Введите число неизвестных: ";
    cin >> m;
    m += 1;
    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 << "Элемент " << "[" << 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, xx[m];
    int k;
 
    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;
 
    return 0;
}


P.S. Немного поправил форматирование. Кстати, четвёртая ссылка в гугле по запросу система линейных уравнений C++.
 
Текущее время: 16:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru