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

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

Войти
Регистрация
Восстановить пароль
 
sanches2805
0 / 0 / 0
Регистрация: 24.02.2012
Сообщений: 38
#1

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

26.03.2013, 18:58. Просмотров 272. Ответов 3
Метки нет (Все метки)

Пишу прогу которая решает уравнение методом простых итераций,не дойдя собственно до самого метода обнаружил ошибку, при преобразовании матрицы по диагонали должны нули быть,но их почему то нет,в чем ошибка не могу понять,вроде формулы преобразования правильно записал,помогите пожалуйста,Прошу прощения за быдлокод
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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2013, 18:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в преобразованиях двумерного массива (для решения СЛАУ) (C++):

Метод Гаусса для решения СЛАУ с использованием одномерного массива - C++
Доброго всем времени суток. У меня есть прога для двумерного массива #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Программа для решения СЛАУ - C++
Здравствуйте,в общем, моя программа решает СЛАУ матричным методом, на основе библиотеки Matrixclass, программа вылетает из-за привышения...

Программа для решения слау методом главных элементов для всеразмерной матрицы - C++
Вот написал программу для решения слау методом главных элементов для всеразмерной матрицы, вобщем вот в чём проблема при получении новой...

Ошибка выделения памяти для двумерного массива - C++
void create(int **Matrix, int n, int m) { Matrix=new int*; for(int i=0; i&lt;n; i++) Matrix = new int; for(int i=0; i&lt;n;...

доделать программу для решения СЛАУ - C++
Ребят, помогите пожалуйста, есть программа для решения СЛАУ методом гаусса, но ту слау, которую необходимо решить мне по заданию она не...

Метод Зейделя для решения слау - C++
Пытаюсь реализовать метод Зейделя, подсмотрев реализацию в Википедии, написала функцию Itera(). Она не рабочая, не считает ничего....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
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]);;
0
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]);;
каким образом?
0
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
27.03.2013, 00:59 #4
ну так вам же нули нужны на главной диагонали
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2013, 00:59
Привет! Вот еще темы с ответами:

Метод Холецкого для решения Слау - C++
Ты не мог бы выложить программу?

Метод Гаусса для решения СЛАУ - C++
Здравствуйте! У меня есть алгоритм решения СЛАУ методом Гаусса, но почему-то он не работает((( Я проверил промежуточные матрицы, все ОК! И...

Ошибка при перегрузке инкремента для двумерного массива - C++
Собственно перегружаю вот так: cDoubleArray &amp;cDoubleArray::operator++ () { for(int i = 0; i &lt; this-&gt;row; i++) for(int j...

Метод простых итераций для решения СЛАУ - C++
Здравствуйте. Есть функция, реализующая метод простых итераций: void ProstIterMetode() {int i,j; double *x0,delta,*E; x0=new...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.03.2013, 00:59
Ответ Создать тему
Опции темы

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