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

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

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

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

вот заданный массив
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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2012, 22:08
Ответы с готовыми решениями:

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

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

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

Решения СЛАУ методом Гаусса за главным элементом
Нужна консольная программа, которая решает систему трех линейных уравнений данным методом.

2
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
0 / 0 / 0
Регистрация: 07.06.2017
Сообщений: 80
24.09.2019, 10:16 3
а где адрес файлов?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2019, 10:16

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

Написать программу, реализующую метод Гаусса для решения СЛАУ с постолбцовым выбором главного элемента
Добрый день. Очень прошу вас помочь мне с программой для лабораторной. Программа должна : -...

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

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

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


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

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

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