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

ошибка в преобразованиях двумерного массива (для решения слау) - C++

Восстановить пароль Регистрация
 
sanches2805
0 / 0 / 0
Регистрация: 24.02.2012
Сообщений: 38
26.03.2013, 18:58     ошибка в преобразованиях двумерного массива (для решения слау) #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
#include <iostream>
#include <conio.h>
#define N 3
using namespace std;
 
void SetAndShowMatrix(float matrixA[N][N],float matrixB[N])
{   for(int i=0;i<N;i++)
 {
    for (int j=0;j<N;j++)
    {
        cout<<"Введите коофицент a"<<i+1<<"_"<<j+1<<endl;
        cin>>matrixA[i][j];cout<<endl;
    }
    cout<<"Введите b"<<i+1<<endl;
    cin>>matrixB[i];cout<<endl;
 }
 
for(int i=0;i<N;i++)
{
    for (int j=0;j<N;j++)
    {
    cout<<matrixA[i][j]<<"  ";
    }
cout<<matrixB[i]<<endl;
}
 
}
   
void ChangeAndShowMatrix(float matrixA[N][N],float matrixB[N])
{   int i=0,j=0;
    
    cout<<"Преобразуем систему к виду X=alpha*X +beta"<<endl;
    for(i=0;i<N;i++)
    {
        for (j=0;j<N;j++)
        {
            matrixA[i][j]=-(matrixA[i][j]/matrixA[i][i]);;
            matrixB[i]=matrixB[i]/matrixA[i][i];
        }
        
    }
    cout<<endl;
 
    for(int i=0;i<N;i++)
    {
        
        for (int j=0;j<N;j++)
        {
        cout<<matrixA[i][j]<<"  ";
        }
        
        cout<<matrixB[i]<<endl;
    }
}
 
int main()
{
    setlocale(LC_ALL,"rus");
 
    float matrixA[N][N];
    float matrixB[N];
 
    SetAndShowMatrix(matrixA,matrixB);
    ChangeAndShowMatrix(matrixA,matrixB);
 
 
    getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
26.03.2013, 19:09     ошибка в преобразованиях двумерного массива (для решения слау) #2
C++
1
 matrixA[i][j]=-(matrixA[i][j]/matrixA[i][i]);;
может так?
C++
1
 matrixA[i][j]-=(matrixA[i][j]/matrixA[i][i]);;
sanches2805
0 / 0 / 0
Регистрация: 24.02.2012
Сообщений: 38
26.03.2013, 19:36  [ТС]     ошибка в преобразованиях двумерного массива (для решения слау) #3
Цитата Сообщение от vua72 Посмотреть сообщение
C++
1
 matrixA[i][j]=-(matrixA[i][j]/matrixA[i][i]);;
может так?
C++
1
 matrixA[i][j]-=(matrixA[i][j]/matrixA[i][i]);;
каким образом?
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
27.03.2013, 00:59     ошибка в преобразованиях двумерного массива (для решения слау) #4
ну так вам же нули нужны на главной диагонали
Yandex
Объявления
27.03.2013, 00:59     ошибка в преобразованиях двумерного массива (для решения слау)
Ответ Создать тему
Опции темы

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