|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.10.2012, 16:33 | #1 |
Пользователь
Регистрация: 09.10.2012
Сообщений: 47
|
Метод Гаусса
Здравствуйте! У меня есть матрица Am [n][n]. Заполняю с клавиатуры. Скажите, пожалуйста, почему элемент Am[n-1][n-2] в 103 строке всегда равен 0?
for (i=1; i<n+1; i++) { int str = i-1; max_el = Am[i-1][i-1]; //poisk maksimalnogo elementa v stolbce for (int ch=i-1; ch<n; ch++) { double buf = Am[ch][i-1]; if (max_el<0) max_el*=(-1); if (buf<0) buf*=(-1); if (max_el<buf) { max_el = buf; //zapomnit' stroku s maksimalnym elementom str = ch; } } if (max_el == 0) { printf ("SLU ne imeet resheniya\n"); getch(); } //menyaem stroki mestami //esli maksimalnyi element ne nahoditsya v tekuchei stroke if (str != (i-1)) { for (int ch=0; ch<n; ch++) { double t = Am[i-1][ch]; Am[i-1][ch] = Am[str][ch]; Am[str][ch] = t; } } //delenie stroki na naibolshyi element for (int ch = 0; ch<n; ch++) Am[i-1][ch]/=max_el; //ustranenie nulei s glavnoi diagonali if (Am[i-1][i-1]<0) for (int ch=0; ch<n; ch++) { if (Am[i-1][ch]!=0) Am[i-1][ch]*=(-1); } //vychislenie koefficientov for (int z=0; z<n-i; z++) koef[z] = Am[i+z][i-1]/Am[i-1][i-1]; //vychitanie strok, umnogennyh na koefficienty for (int k=i; k<n; k++) for (int j=i-1; j<n; j++) Am[k][j] -= koef[k-i]*Am[i-1][j]; printf("\n"); } //obratnyi hod for (int i=n-1; i>=0; i--) { if (n-i-1 == 0 ) X[0] = (Am[n-1][n-1])/Am[n-1][n-2]; //103 строка else { for (int j=n-1; j>i; j-- ) Am[i][n-1] = Am[i][n-1] - (Am[i][j-1]*X[n-j-1]); X[n-i-1] = Am[i][n-1]/Am[i][i]; } }
There are 10 types of people: those who understand binary and those who don't.
|
13.10.2012, 20:49 | #2 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 95
|
эээ...а где тут эта строка то?
|
14.10.2012, 10:31 | #3 |
Пользователь
Регистрация: 09.10.2012
Сообщений: 47
|
В последнем условии:
X[0] = (Am[n-1][n-1])/Am[n-1][n-2]; Am[n-1][n-2] где-то зануляется
There are 10 types of people: those who understand binary and those who don't.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
метод простых операций и метод гаусса зейделя | tarasman11 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 23.09.2012 14:46 |
Метод Гаусса | nice1992 | Помощь студентам | 4 | 05.02.2012 19:22 |
Метод Гаусса в С++. | marko) | Общие вопросы C/C++ | 1 | 22.03.2010 16:49 |
Безумно сложные задачки!!!! Метод Гаусса, итераций, метод половинного деления, задача Коши и т.д. | Хомяк!!!!! | Помощь студентам | 4 | 08.07.2009 10:08 |
Метод Гаусса | werser | Помощь студентам | 10 | 23.05.2009 01:46 |