С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
Alekto
1 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 51
1

Разработать программу для решения СЛАУ методом Гаусса.

22.02.2012, 22:08. Просмотров 3894. Ответов 1
Метки нет (Все метки)

Разработать программу для решения СЛАУ методом Гаусса.

вот заданный массив
7x1-x2+2x3+x4+x5=7
2x1+5x2-x3-x5=3
7x3+x4+2x5=-1
-x1-2x2+5x4-x5=5
x1-x2-x3+x4+7x5=-7
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2012, 22:08
Ответы с готовыми решениями:

Помогите написать программу для решения слау методом Гаусса
Осталось как обычно пару дней до сдачи курсовой, а она еще не готова! Помогите...

Кто сможет? Написать функцию для решения СЛАУ методом Гаусса
Кто может написать функцию для решения СЛАУ методом Гаусса используя базовые...

Решения СЛАУ методом Гаусса по шагу
Добрый день! Очередной раз прошу советов! Имеется СЛАУ, которое требуется...

Нужен рабочий пример решения СЛАУ методом Гаусса
Нужен рабочий (ну или более менее рабочий) код для решения СЛАУ методом Гауса...

Написать программу для решения системы уравнений методом Гаусса (c++)
Добрый вечер! Нужно написать программу для решения системы уравнений методом...

1
A555
51 / 51 / 4
Регистрация: 04.04.2011
Сообщений: 209
23.02.2012, 08:17 2
Лучший ответ Сообщение было отмечено Alekto как решение

Решение

давным давно выкинули на форум решение СЛАУ методом Гауса ща найду год у себя скину т.к. ссылку не найду

Добавлено через 2 минуты
Говорю сразу сдавал её на 1 курсе есть недочёты ну не по стандартам написанна она у меня но принцип поймешь взял её с этого форума
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
#include <iostream>
#include <iomanip>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <time.h>
#define FOR_k  for (int k = 0; k < dim; ++k)
#define FOR_j  for (int j = 0; j < dim; ++j)
#define FOR_i  for (int i = k + 1; i < dim; ++i)
void swap(double &a, double &b)
{
    double temp = a;
    a = b;
    b = temp;                         
 
}
 
void Gauss(double **A, double *B, int dim)
{
    FOR_k
    {
        if (A[k][k] == 0.0)
        {
           FOR_i
            {
                if (A[i][k] != 0.0)
                {
                    FOR_j
                        swap(A[i][j], A[k][j]);
 
                    swap(B[i], B[k]);
 
                    break;
                }
            }
        }
 
        double div = A[k][k];
 
        FOR_j
            A[k][j] /= div;
 
        B[k] /= div;
 
       FOR_i
        {
            double multi = A[i][k];
 
            for (int j = 0; j < dim; ++j)
                A[i][j] -= multi * A[k][j];
 
            B[i] -= multi * B[k];
        }
    }
 
    for (int k = dim - 1; k > 0; --k)
    {
        for (int i = k - 1; i + 1 > 0; --i)
        {
            double multi = A[i][k];
 
            for (int j = 0; j < dim; ++j)
                A[i][j] -= multi * A[k][j];
 
            B[i] -= multi * B[k];
        }
    }                                                    
}
 
int main()
{
     FILE *k,*k1;
    int n;
    double **A;
    double *B;
      k=fopen("D:\\aaa.txt","a+");
                 if(!k)
                       {
                      printf("Otkritie faila ne vozmojno");
                          system("pause");
                          exit(1);
                       }
    fscanf(k,"%d",&n);
     k1=fopen("D:\\bbb.txt", "a+");
             if(!k1)
                     {
                            printf("Otkritie faila ne vozmojno");
                            system("pause");
                            exit(1);
                          }
    B=new double[n];
          A=new double *[n];
    for (int i = 0; i < n; ++i)
        A[i] = new double [n];
         for(int i=0;i<n;i++)
         {
            for(int j=0;j<n;j++)
            {
            fscanf(k,"%lf",&A[i][j]);
             }
            fscanf(k1,"%lf",&B[i]);
             }
    Gauss(A, B, n);
 
    cout << "X = {";
    for(int i=0;i<n;i++)
    {
    cout<< B[i] <<" ";
    }
     cout<<" }";
    for (int i = 0; i < n ; ++i)
        delete [] A[i];
   getch();
    return 0;
}
Добавлено через 2 минуты
тут кароч) измени ввод инфы из файла на ввод ручной будет проше у меня там из 1 фала берёться матрица и 2 файла берёться столбец свободных членов
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2012, 08:17

Разработать алгоритм численного решения СЛАУ методом верхней релаксации
Помогите пожалуйста курсач горит (:ireful: Разработать алгоритм численного...

Метод Гаусса для решения СЛАУ
Здравствуйте! У меня есть алгоритм решения СЛАУ методом Гаусса, но почему-то он...

Реализовать программу, решающую СЛАУ методом Гаусса
Реализовать программу, решающую СЛАУ методом Гаусса. Требования: 1....


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

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

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