![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.06.2010
Сообщений: 11
|
![]()
Скажите пожалуйста, сойдет ли такой код для прямого и обратного кода?
Прямой ход for(k=0;k<N-1;k++) for(i=0;i<N;i++) if(i>k) { for(j=0;j<N;j++) matrix[i][j]-=matrix[k][j]*(matrix[i][k])/(matrix[k][k]); freemembers[i][0]-=freemembers[k][0]*(matrix[i][k]/matrix[k][k]); } Обратный ход for(k=0;k<N-1;k++) for(i=0;i<N;i++) if(i>k) { for(j=0;j<N;j++) matrix[N-i-1][j]-=matrix[N-k-1][j]*(matrix[N-i-1][N-k-1]/matrix[N-k-1][N-k-1]); freemembers[N-i-1][0]-=freemembers[N-k-1][0]*(matrix[N-i-1][N-k-1]/matrix[N-k-1][N-k-1]); } N - размерность cout<<endl; for(i=0;i<N;i++) cout<<freemembers[i][0]<<" "; но свободные члены не изменяются совсем, какие задал, такие и остались. Матрица же превращается в диагональную(все ост. элементы=0), но с теми же числами что и были в диагонали. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 15.06.2010
Сообщений: 11
|
![]()
Ага, забыл написать еще: все массивы объявлены в динамической памяти.
Сначала объявил в мэин указатель на массив указателей в динамической памяти, потом каждый из этих указателей объявил как указатель на массив данных в динамической памяти(получается двумерный массив), но уже в функции. указатель передаются в форме Gauss(**freemembers,**matrix,**x,N) (x - это массив неизвестных, который так же создается как фримемберс, но данные не очищаются в функции, а в мейне). |
![]() |
![]() |