Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Alexey Mars
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 6
#1

Метод Гаусса, реализованный с визуальным оформлением - C++

23.10.2011, 18:36. Просмотров 1950. Ответов 4
Метки нет (Все метки)

Может кто сталкивался с такой программой: C++ метод Гаусса, реализованный с визуальным оформлением,помогите решить!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2011, 18:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Метод Гаусса, реализованный с визуальным оформлением (C++):

Как объединить исходный код с визуальным оформлением? - C++
Короче решил написать наипростейшую программу. Вводится число, вводится делитель, нажимается кнопка результат, и ответ выводится. Я...

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя - C++
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++

Метод Гаусса - C++
Всем привет. Ребят, что скажите по поводу такой реализации метода Гаусса: #include <stdio.h> #include <stdlib.h> #include <math.h>...

Метод Гаусса - C++
Как решить квадратную матрицу методом Гаусса, я ее привел к треугольному виду, не могу понять как дальше быть....

метод Гаусса - C++
дана система линейных уравнений, в графическом режиме надо написать программу. Не понимаю как, помогите. в системе 4 уравнения

Метод Гаусса - C++
Добрый вечер, можете написать программу для решения СЛАУ методом гаусса на Си, чтобы был прямой и обратный ход.

4
CheshireCat
Эксперт С++
2903 / 1252 / 81
Регистрация: 27.05.2008
Сообщений: 3,436
23.10.2011, 20:14 #2
Чем именно тебе помочь? Что ты уже написал?
0
Alexey Mars
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 6
23.10.2011, 20:21  [ТС] #3
у меня есть отдельная прога,не знаю как ее в форму запихнуть!
0
Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
23.10.2011, 20:44 #4
Хотя бы покажите, что уже сделали
0
Alexey Mars
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 6
23.10.2011, 21:42  [ТС] #5
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include "stdafx.h"
#include "iostream"
#include "cmath"
#include "conio.h"
 
using namespace std;#include "stdafx.h"
#include "iostream"
#include "cmath"
#include "conio.h"
 
using namespace std;
 
void OutMatrix(double **a, int n)
{
        for(int i = 0; i<n; i++)
        {
                for(int j = 0; j<n; j++)
                        cout << a[i][j] << "    ";
                cout << endl;
        }
}
 
void OutVector(double *x, int n)
{
        for(int i = 0; i<n; i++)
                        cout << x[i] <<"    ";
        cout << endl;
}
 
 
void Gauss(double **a, double *b, int n, double *x)
{
        // Прямой ход метода 
        double M;
        for(int i = 0; i<n-1; i++)
        {
                for(int j = i; j<n-1; j++)
                {
                        M = -a[j+1][i]/a[i][i];
                        for(int k = i; k<n; k++)
                        {
                                a[j+1][k] += a[i][k]*M; 
                                if(a[j+1][k] < 0.000001 & a[j+1][k]> -0.000001)
                                        a[j+1][k] = 0;
                        }
                        b[j+1] += b[i]*M;
                }
        }
        // Обратный ход 
        int N = n-1;
        for(int i = 0; i<=N; i++)
                for(int j = N; j>=N-i; j--)
                {
                        if( j == N)
                                x[N-i] = b[N-i];
                        if(j>(N-i) & j<N)
                                x[N-i] -= x[j];
                        if(j == N-i)
                                x[N-i] /= a[j][j];
                }
}
 
void MatrMultVect(double **a1, double *x, int n, double *b1)
{
        double b;
        for(int i = 0; i<n; i++)
        {
                b = 0;
                for(int j = 0; j<n; j++)
                        b += a1[i][j]*x[j];
                b1[i] = b;
                
        }
}
 
void OutMatrix(double **a, int n)
{
        for(int i = 0; i<n; i++)
        {
                for(int j = 0; j<n; j++)
                        cout << a[i][j] << "    ";
                cout << endl;
        }
}
 
void OutVector(double *x, int n)
{
        for(int i = 0; i<n; i++)
                        cout << x[i] <<"    ";
        cout << endl;
}
 
 
void Gauss(double **a, double *b, int n, double *x)
{
        // Прямой ход метода 
        double M;
        for(int i = 0; i<n-1; i++)
        {
                for(int j = i; j<n-1; j++)
                {
                        M = -a[j+1][i]/a[i][i];
                        for(int k = i; k<n; k++)
                        {
                                a[j+1][k] += a[i][k]*M; 
                                if(a[j+1][k] < 0.000001 & a[j+1][k]> -0.000001)
                                        a[j+1][k] = 0;
                        }
                        b[j+1] += b[i]*M;
                }
        }
        // Обратный ход 
        int N = n-1;
        for(int i = 0; i<=N; i++)
                for(int j = N; j>=N-i; j--)
                {
                        if( j == N)
                                x[N-i] = b[N-i];
                        if(j>(N-i) & j<N)
                                x[N-i] -= x[j];
                        if(j == N-i)
                                x[N-i] /= a[j][j];
                }
}
 
void MatrMultVect(double **a1, double *x, int n, double *b1)
{
        double b;
        for(int i = 0; i<n; i++)
        {
                b = 0;
                for(int j = 0; j<n; j++)
                        b += a1[i][j]*x[j];
                b1[i] = b;
                
        }
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
23.10.2011, 21:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2011, 21:42
Привет! Вот еще темы с ответами:

Метод Гаусса - C++
Суть в том что бы СЛАУ методом Гаусс с последовательным исключениям неизвестных.Вот система: 2.7x+3.3y+1.3z=2.1 3.5x-1.7y+2.8z=1.7 ...

Метод Гаусса!!! - C++
Всем привет! )) У меня вот такая проблемка! Нужно решить СЛАУ методом Гаусса с выбором главного элемента по столбцу!! Теоретически знаю, а...

Метод Гаусса - C++
Здравствуйте, у меня такая проблема. Мне нужно написать программу, которая решает СЛАУ методом Гаусса. Программа у меня работает,но когда...

метод гаусса - C++
найти метод гаусса n+1 значение определителя в n+1 точке, а затем решить систему из n+1 уравнение с n+1 неизвестными. составить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru