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

Решение системы линейных уравнений с помощью обратной матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти два минимальных елемента последовательности и перемножить их http://www.cyberforum.ru/cpp-beginners/thread173234.html
Только начали изучать ассемблерную вставку в С++....первую лабу я кое-как сам сделал (там елементарные арифметические действия с числами) , а вот с второй напряг... Нам дан одномерный массив из 10 целых чисел (ввод не с клавиатуры) нам нужно найти два минимальных елементы етой последовательности и перемножить их, и вывести на екран результат.Напишите и раздуплите, если не сложно!!! В Паскале...
C++ Невозможный результат Есть функция, кторая счтает интергал Обьясните пожалуйста, почему она дает такие значения, явно неправельные #include <iostream> using namespace std; double g_integral(double x, double eps) { double sum=x, fx=x, fact=1; int z=1,i=2; http://www.cyberforum.ru/cpp-beginners/thread173227.html
C++ Класс описывающий матрицу. Перегрузка операторов
Условие задачи: Составить описание класса, обеспечивающего представление матрицы произвольного размера с возможностью изменения числа строк и столбцов, вывода на экран подматрицы любого размера и всей матрицы. Вот что имеется: /*matrix.h*/ #pragma once class CMatrixStr { private: int Rows;
C++ Нужно написать программу которая будет вычислять факториал. В нете много подобного, но хорошего не увидел. Может у кого код завалялся.
Помогите написать программу которая будет вычислять факториал. В нете много подобного, но хорошего не увидел. Может у кого код завалялся.
C++ Открыть, сохранить, закрыть файл http://www.cyberforum.ru/cpp-beginners/thread173215.html
программа осуществляет обработку данных из файла.Главное меню имеет вид: 1)файл 2)редактировать документ 3)... Вид меню "Файл": 1)открыть 2)сохранить 3)закрыть. вопрос вот в чем, как осуществить отдельно все пункты меня "файл"? что должны делать эти функции?
C++ Нужно сделать программу которая будет возводить в степень постоянное число e. Нужно сделать программу которая будет возводить в степень постоянное число e. int t = 2; double v; v = exp(t); Вроде так, но не работает... подробнее

Показать сообщение отдельно
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
07.10.2010, 01:13     Решение системы линейных уравнений с помощью обратной матрицы
Оно?
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
const int N = 3;
 
void inversion(double A[][N], double E[][N])
{
    double temp;
 
    for (int k = 0; k < N; k++)
    {
        temp = A[k][k];
 
        for (int j = 0; j < N; j++)
        {
            A[k][j] /= temp;
            E[k][j] /= temp;
        }
 
        for (int i = k + 1; i < N; i++)
        {
            temp = A[i][k];
 
            for (int j = 0; j < N; j++)
            {
                A[i][j] -= A[k][j] * temp;
                E[i][j] -= E[k][j] * temp;
            }
        }
    }
 
    for (int k = N - 1; k > 0; k--)
    {
        for (int i = k - 1; i >= 0; i--)
        {
            temp = A[i][k];
 
            for (int j = 0; j < N; j++)
            {
                A[i][j] -= A[k][j] * temp;
                E[i][j] -= E[k][j] * temp;
            }
        }
    }
}
 
void multi(double A[][N], double B[N], double X[N])
{
    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
            X[i] += A[i][j] * B[j];
}
 
int main()
{
    double A[N][N] =
    {
        1.0, 1.0, 2.0,
        2.0, -1.0, 2.0,
        4.0, 1.0, 4.0
    };
 
    double B[N] =
    {
        -1.0,
        -4.0,
        -2.0
    };
 
    double E[N][N] =
    {
        1.0, 0.0, 0.0,
        0.0, 1.0, 0.0,
        0.0, 0.0, 1.0
    };
 
    double X[N];
 
    inversion(A, E);
    multi(E, B, X);
 
    for (int i = 0; i < N; i++)
        cout << "X[" << i << "] = " << X[i] << endl;
 
    cout << endl;
    system("pause");
    return 0;
}
 
Текущее время: 19:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru