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

Функция для Гаусса - C++

Восстановить пароль Регистрация
 
Я=)
Сообщений: n/a
12.12.2010, 16:58     Функция для Гаусса #1
Помогите, пожалуйста, с задачей, ваще ее не понимаю=(
Напишите функцию, приводящую квадратную матрицу к треугольному виду методом Гаусса. Функция должна возвращать true при успешном выполнении приведения и false, если в процессе приведения встретилось деление на нуль.

матрица:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2010, 16:58     Функция для Гаусса
Посмотрите здесь:

C++ метод гаусса для решения линейних уравнений
Метод Гаусса для решения СЛАУ с использованием одномерного массива C++
C++ Разработать программу для решения СЛАУ методом Гаусса.
Что нужно изменить ,чтобы функция с методом Гаусса возвращала массив? C++
C++ Помогите написать программу для решения слау методом Гаусса
Вылет программы для вычисления СЛАУ методом Жордана-Гаусса при исполнении C++
C++ Кто сможет? Написать функцию для решения СЛАУ методом Гаусса
C++ Написать программу для решения системы уравнений методом Гаусса (c++)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
12.12.2010, 23:01     Функция для Гаусса #2
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
bool Gauss(double** A, int M, int N)
{
        for (int i=0; i<M-1; i++)
        {
                for (int j=i+1; j<M;j++)
                {
                        if (A[i][i]==0)
                                return false;
                        double K = A[j][i] / A[i][i];
                        for (int k=i; k<N; k++)
                        {
                                A[j][k] -= A[i][k]*K;
                        }
                }
        }
        return true;
}
 
int main()
{
        srand(time(0));
 
        int M = 3;
        int N = 3;
 
        double** A = new double*[M];
        for (int i=0; i<M; i++)
                A[i] = new double[N];
 
        for (int i=0; i<M; i++)
        {
                for (int j=0; j<N; j++)
                {
                        A[i][j] = rand()%10+1;
                        cout << setw(5)<< A[i][j];
                }
                cout << endl;
        }
        cout << endl;
 
        Gauss(A, M, N);
 
        for (int i=0; i<M; i++)
        {
                for (int j=0; j<N; j++)
                {
                        cout << setw(5) << A[i][j];
                }
                cout << endl;
        }
 
        for (int i=0; i<M; i++)
                delete [] A[i];
        delete [] A;
 
        return 0;
}
Yandex
Объявления
12.12.2010, 23:01     Функция для Гаусса
Ответ Создать тему
Опции темы

Текущее время: 16:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru