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

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

Войти
Регистрация
Восстановить пароль
 
kolokol
5 / 5 / 0
Регистрация: 04.10.2012
Сообщений: 48
#1

Ошибка - Матрица гауса - C++

16.11.2012, 13:21. Просмотров 281. Ответов 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
//Матрица гауса.
#include <iostream>
#include<stdio.h>
using namespace std;
 
 
void main()
{
    int n=3,m=3;
    float **arr=new float*[n];
    for( int i=0;i<n;i++)
    {
        arr[i]=new float[m];
    }
    for( int i=0; i<n;i++)
    {
        for( int j=0;j<m;j++)
        {
            cin>>arr[i][j];
        }
    }
    for( int i=0; i<n+1;i++)
    {
        for( int j=0;j<m;j++)
        {
            printf("%.2f \t",arr[i][j]);
        }
        cout<<"\n";
    }
 
for ( int i=0;i<n;i++)
{
                   //Идем по диагонали
    float ElemDiag=arr[i][i];
         for(int j=0;j<n;j++)
    {
    arr[i][j]/=ElemDiag;
    }
// Вычесть первую строку из остальных
for( int l=0;l<n;l++)
{
    float div=-arr[l][i];
    if(l!=i)
    {
        for(int k=0;k<m;k++)
        {
            arr[l][k]+=arr[i][k]*div;
        }
    }
}
}
 
for( int i=0; i<n;i++)
    {
        for( int j=0;j<m;j++)
        {
            printf("%.2f \t",arr[i][j]);
        }
        cout<<"\n";
    }
 
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2012, 13:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка - Матрица гауса (C++):

Метод Гауса - C++
люди если кто может помочь помогите с задание таким Методом Гаусса решить систему n линейных алгебраических уравне-ний c n неизвестными....

Метод Гауса есть? - C++
Поделитесь плиз програмкой для решения СЛАУ методом гауса=)

Метод Гауса, Visual 2008 - C++
Не могу понять, что происходит с программой..только осваиваю visual...запускаю, происходит выполнение и консольное окно закрывается, ошибок...

Как найти систему методом гауса - C++
Здравствуйте может кто подсказать как используя метод гаусса найти решение системы А*у=b ______a(i,1)___a(i,2)__...

Метод гауса система ленейных уравнений - C++
Когда система линейных уравнений решенная методом Гаусса имеет бесконечное мноджество решений? какое должно быть условие?

Решение системы уравнений методом Гауса - C++
Вот, ради интереса попробовал написать программу (С++). Сейчас она работает, но выполняет лишь первый шаг. Нужно чтобы программа выполняла...

2
LeMax24
51 / 13 / 2
Регистрация: 29.09.2012
Сообщений: 90
18.11.2012, 12:32 #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
#include <iostream>
 
using namespace std;
 
int main()
{
    int a11, a12, a13, a21, a22, a23, a31, a32, a33, a41, a42, a43;   
        
        cout << "x1 = "; cin >> a11;
        cout << "y1 = "; cin >> a12;
        cout << "z1 = "; cin >> a13; cout << endl;
        
        cout << "x2 = "; cin >> a21;
        cout << "y2 = "; cin >> a22;
        cout << "z2 = "; cin >> a23; cout << endl;
 
        cout << "x3 = "; cin >> a31;
        cout << "y3 = "; cin >> a32;
        cout << "z3 = "; cin >> a33; cout << endl;
 
        cout << " = "; cin >> a41;
        cout << " = "; cin >> a42;
        cout << " = "; cin >> a43; cout << endl;
 
    int A1 = 0, A2 = 0, A3 = 0, A4 = 0, A5 = 0, A6 = 0, A7 = 0, A8 = 0;
 
        A1 = (a11 * a22) - (a21 * a12);
        A2 = (a11 * a23) - (a21 * a13);
        A3 = (a11 * a42) - (a21 * a41);
 
        A4 = (a11 * a32) - (a31 * a12);
        A5 = (a11 * a33) - (a31 * a13);
        A6 = (a11 * a43) - (a31 * a41);
 
        A7 = (A1 * A5) - (A4 * A2);
        A8 = (A1 * A6) - (A4 * A3);
 
    int x = 0, y = 0, z = 0, a = 0, b = 0;
 
        z = A8 / A7;
        a = A3 -(A2 * z);
        y = a / A1;
        b = a41 - ((a12 * y) + (a13 * z));
        x = b / a11;
 
        cout << endl;
        cout << "x = " << x << endl;
        cout << "y = " << y << endl;
        cout << "z = " << z << endl;
 
    system("pause");
    return 0;
}
0
-=ЮрА=-
Заблокирован
Автор FAQ
18.11.2012, 13:23 #3
kolokol, вот тут посмотри http://www.cyberforum.ru/faq/thread4...ml#post2536056 там не только метод Гаусса
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2012, 13:23
Привет! Вот еще темы с ответами:

метод гауса..обьясните как работает программа - C++
ipMatr(); for(opMatr(),k=0;k&lt;=n;k++) //прямой ход метода Гаусса; {for(aa=fabs(a),i=k,j=k+1;j&lt;=n;j++)//поиск макс....

Как привести матрицу к треугольному виду по методу гауса? - C++
Может у кого есть прога? Нужна срочно!

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим - C++
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

Матрица,в чем ошибка? - C++
Дана шахматная доска 8*8, при вводе координат, должны отображатться ходы Ферзя. #include &lt;iostream&gt; using namespace std; int...


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

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

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