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

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

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

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

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

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

Разработка параллельных алгоритмов для решения СЛАУ - C++
Пишу курсовую на тему &quot;Разработка параллельных алгоритмов для решения СЛАУ&quot; У кого-нибудь есть что либо &quot;работающее&quot; по этой теме...

Файловое чтение и запись данных для решения СЛАУ - C++
Добрый день, данная программа решает СЛАУ методом Гаусса, но каждый раз, при новом запуске программы, матрица коэффициентов и вектор...

Ошибка инициализации двумерного массива - C++
//Нужен массив 3х3; enum colorMap {null = 0, yellow, green, blue, violet, red }; class Foo { int map; Foo() { ...

Обработка двумерного массива(ошибка в сортировке) - C++
Ребят 2 вопроса, но самый главный заключается в сортировке.Подскажите пожалуйста где ошибся, я уже не могу найти, это бред какой-то... ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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]);;
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]);;
каким образом?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2013, 00:59     Ошибка в преобразованиях двумерного массива (для решения СЛАУ)
Еще ссылки по теме:

Ошибка описания динамического двумерного массива - C++
#include &lt;iostream&gt; using namespace std; int main() { int x, y, i, j; cout &lt;&lt; &quot;Введите кол-во строк и столбцов: &quot;; ...

Ошибка заполнения динамического двумерного массива - C++
При заполнении массива mas происходит выход за границы массива. По ходу исполнения программы данные записываются в ячейки и т.д. Судя по...

Ошибка инициализации двумерного массива в классе - C++
Ошибка инициализации двумерного массива в классе Текст ошибки: Error 13 error C2536: 'Polibiy::Polibiy::a' : cannot specify explicit...

Ошибка при вводе двумерного массива - C++
Здравствуйте! Нужно: 1. Написать программу с использованием двумерного массива для сохраниния данных о месячных продажах книжек...


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

Или воспользуйтесь поиском по форуму:
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
27.03.2013, 00:59     Ошибка в преобразованиях двумерного массива (для решения СЛАУ) #4
ну так вам же нули нужны на главной диагонали
Yandex
Объявления
27.03.2013, 00:59     Ошибка в преобразованиях двумерного массива (для решения СЛАУ)
Ответ Создать тему
Опции темы

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