Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/23: Рейтинг темы: голосов - 23, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 6
1

Метод Гаусса с визуализацией

24.10.2011, 22:50. Просмотров 4441. Ответов 11
Метки нет (Все метки)

Помогите реализовать метод Гаусса в C++ Builder 5 или 6!с визуализацией!Может кому попадалась такая программа!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2011, 22:50
Ответы с готовыми решениями:

Метод Якоби с визуализацией
Помогите с реализацией матода Якоби на builder c++. Вот листинг программы: #pragma...

Метод Гаусса
Помогите пожалуйста, мозги кипят и не справляется, в программировании новичок. Задали курсач на...

Метод Гаусса
Всем привет. У меня есть решение Методом Гаусса на Делфи: var a: Matrix; b,x: Vector; ...

Метод Гаусса
Не могу понять в чем ошибка,кто подскажет? int A={0,1,0,1,1,0,0, 1,0,0,1,0,1,1, ...

11
Заблокирован
Автор FAQ
25.10.2011, 11:20 2
Цитата Сообщение от Alexey Mars Посмотреть сообщение
Помогите реализовать метод Гаусса в C++ Builder 5 или 6!с визуализацией!Может кому попадалась такая программа!
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
#include <stdlib.h>//malloc, system("pause")
#include <stdio.h>  //i/o
#include <conio.h>  //getch
#include <math.h>
 
void ShowVector(int n, double * vec)
{
        for(int i = 0; i < n; i++)
                printf("%.3f ",vec[i]);
        printf("\r\n");
}
 
void PryamoiHod(int n, double **a, double *b)
{
        double v;
        for(int k = 0,i,j,im; k < n - 1; k++)
        {
                im = k;
                for(i = k + 1; i < n; i++)
                {
                        if(fabs(a[im][k]) < fabs(a[i][k]))
                        {
                                im = i;
                        }
                }
                if(im != k)
                {
                        for(j = 0; j < n; j++)
                        {
                                v                = a[im][j];
                                a[im][j] = a[k][j];
                                a[k][j]  = v;
                        }
                        v     = b[im];
                        b[im] = b[k];
                        b[k]  = v;
                }
                for(i = k + 1; i < n; i++)
                {
                        v               = 1.0*a[i][k]/a[k][k];
                        a[i][k] = 0;
                        b[i]    = b[i] - v*b[k];
                                                if(v != 0)
                        for(j = k + 1; j < n; j++)
                        {
                                a[i][j] = a[i][j] - v*a[k][j];
                        }
                }
        }
}
 
void ObratniHod(int n, double **a, double *b, double *x)
{
        double s = 0;
        x[n - 1] = 1.0*b[n - 1]/a[n - 1][n - 1];
        for(int i = n - 2, j; 0 <= i; i--)
        {
                s = 0;
                for(j = i + 1; j < n; j++)
                {
                        s = s+a[i][j]*x[j];
                }
                x[i] = 1.0*(b[i] - s)/a[i][i];
        }
}
 
int main()
{
        int i,j,n;
        double **a, *b, *x;
        do
        {
                printf("Enter NUM of equations: ");
                scanf("%d",&n);
                //Âûäåëÿåì ïàìÿòü ïîä ìàòðèöó À è âåêòîðû Â è Õ
                a = (double **)malloc(n*sizeof(double));
                b = (double *)malloc(n*sizeof(double));
                x = (double *)malloc(n*sizeof(double));
                for(i = 0; i < n; i++)
                {
                        a[i] = (double *)malloc(n*sizeof(double));
                        //Ââîä a
                        for(j = 0; j < n; j++)
                        {
                                printf("a[%d][%d] = ",i + 1,j + 1);
                                scanf("%lf",&a[i][j]);
                        }
                }
                //Ââîä b
                for(i = 0; i < n; i++)
                {
                        printf("b[%d] = ",i + 1);
                        scanf("%lf",&b[i]);
                }
                
                printf("\tSee input\r\n");
                printf("Matrix A:\r\n");
                for(i = 0; i < n; i++)
                        ShowVector(n, a[i]);
                printf("Vector B:\r\n");
                ShowVector(n, b);
                
                printf("\tSolving on Gauss method\r\n");
                PryamoiHod(n, a, b);
                printf("Forvard Gauss course\r\n");//Ïðÿìîé õîä
                printf("Matrix A:\r\n");
                for(i = 0; i < n; i++)
                        ShowVector(n, a[i]);
                printf("Vector B:\r\n");
                ShowVector(n, b);
 
                ObratniHod(n, a, b, x);
                printf("Back Gauss course\r\n");//Îáðàòíûé õîä
                printf("Matrix A:\r\n");
                for(i = 0; i < n; i++)
                        ShowVector(n, a[i]);
                printf("Vector B:\r\n");
                ShowVector(n, b);
 
                printf("Results :\r\n");
                ShowVector(n, x);
 
                printf("Press Y for new input\r\n");
                //×èñòèì ïàìÿòü
                free((void *)a);
                free((void *)b);
                free((void *)x);
        }
        while(toupper(getch()) == 'Y');
        return 0;
}
- функционал аналогичный этому
Методом Гаусса решить систему n линейных алгебраических уравнений
успехов!
1
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 6
25.10.2011, 17:10  [ТС] 3
Спасибо!Еще вопрос,простите за возможную бестактность)можно ли эту программу на форму загнать?
0
Заблокирован
Автор FAQ
25.10.2011, 17:21 4
Цитата Сообщение от Alexey Mars Посмотреть сообщение
Спасибо!Еще вопрос,простите за возможную бестактность)можно ли эту программу на форму загнать?
- эммм типа MFC проект???

Не по теме:

Я билдер редко использую, да и наверное меня сегодня забанят так что даже не знаю успею ли Вам помочь...

0
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 6
26.10.2011, 08:56  [ТС] 5
В Builder New Form!с использованием как минимум 2 Edit,1 StringGrid,ну и Button конечно!
0
26 / 26 / 1
Регистрация: 10.04.2012
Сообщений: 37
27.04.2012, 19:22 6
Хоть кому то получилось сделать метод Гаусса С++ Builder ? Если получилось, ответьте пожалуйста.
0
Заблокирован
Автор FAQ
27.04.2012, 21:28 7
Цитата Сообщение от Я_Р_К_О_С Посмотреть сообщение
Хоть кому то получилось сделать метод Гаусса С++ Builder ? Если получилось, ответьте пожалуйста.
- ну а чем мой код не подходит???
Он идёт даже в 4-м борландСи
1
Миниатюры
Метод Гаусса с визуализацией  
Вложения
Тип файла: rar gaus.cpp.rar (1.1 Кб, 110 просмотров)
26 / 26 / 1
Регистрация: 10.04.2012
Сообщений: 37
27.04.2012, 21:31 8
У меня просто с формой, там не много другой код !!! Вот посмотри Организация метода Гаусса в среде С++ Builder
0
Заблокирован
Автор FAQ
27.04.2012, 21:40 9

Не по теме:

Я_Р_К_О_С, могу в АПИ или МФЦ в билдере не работаю...:pardon:



Добавлено через 1 минуту

Не по теме:

Честно проблеммы не вижу - вместо консоли перенаправить индикацию скажем в EditBox и всё, даже код особо править не надо

1
26 / 26 / 1
Регистрация: 10.04.2012
Сообщений: 37
27.04.2012, 21:41 10
А ты знаешь кто может помочь ?
0
Заблокирован
Автор FAQ
27.04.2012, 22:06 11
Цитата Сообщение от Я_Р_К_О_С Посмотреть сообщение
А ты знаешь кто может помочь ?
- Нууу кто ж тут у нас на билдере пишет, возможно Evg помню он выставлял код в нём, попроси запихнуть мой или хочешь свой алгоритм в билдеровскую форму
Вот его профиль https://www.cyberforum.ru/members/18334.html
1
26 / 26 / 1
Регистрация: 10.04.2012
Сообщений: 37
28.04.2012, 00:20 12
Я его знаю, он не хочет (((

Добавлено через 10 минут
Цитата Сообщение от Я_Р_К_О_С Посмотреть сообщение
Я его знаю, он не хочет (((
Ну , всё-равно не куда спрятаться , я ещо раз его попрошу посмотреть)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2012, 00:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Метод Гаусса
Написать программу для решения систем линейных алгебраических уравнений с помощью метода Гаусса с...

Метод гаусса
Народ помогите плиз совсем что то запутался. Программу вроде написал она запускается но не даёт...

Метод Гаусса на С++ Bilder
Я токо начал изучать C++ Bilder (1год)!!! Мне задали курсовую , што даже не знаю с чего начать , я...

Метод Гаусса со Stringrid`om
Проблема возникает при расчете столбца вектора и обратный ход... Пытаюсь найти проблему, но пока...


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

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

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