ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
{
// исключение по i-ой строке
// проверка возможности исключения
// по значению ведущего элемента
if(A[i][i] != 0)
{
// исключение во всех строках, кроме ведущей
for(int k = 0; k < m; k++)
{
if(k == i)
continue;
double d = A[k][i] / A[i][i];
for(int j = i; j < n; j++)
A[k][j] = A[k][j] – d * A[i][j];
B[0][k] = B[0][k] – d * B[0][i];
}
// преобразование ведущей строки
for(int j = i + 1; j < n; j++)
A[i][j] /= A[i][i];
// преобразование i-ого свободного члена
B[0][i] /= A[i][i];
A[i][i] = 1;
}
else
{
// элемент главной диагонали
// в i-ой строке равен нулю
int k;
// поиск ненулевого элемента ниже
// в i-ом столбце
for(k = i + 1; k < m; k++)
if(A[k][i] != 0)
break;
if(k == m)
{
// все элементы столбца нулевые
if(i == n – 1 - count_null_cols)
{
// элементов, которые могут быть
// ведущими, больше нет
count_null_cols++;
break;
}
// меняем местами столбцы - текущий и
// последний из непросмотренных
for(int j = 0; j < m; j++)
{
double t = A[j][i];
A[j][i] =
208
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М. { // исключение по i-ой строке // проверка возможности исключения // по значению ведущего элемента if(A[i][i] != 0) { // исключение во всех строках, кроме ведущей for(int k = 0; k < m; k++) { if(k == i) continue; double d = A[k][i] / A[i][i]; for(int j = i; j < n; j++) A[k][j] = A[k][j] – d * A[i][j]; B[0][k] = B[0][k] – d * B[0][i]; } // преобразование ведущей строки for(int j = i + 1; j < n; j++) A[i][j] /= A[i][i]; // преобразование i-ого свободного члена B[0][i] /= A[i][i]; A[i][i] = 1; } else { // элемент главной диагонали // в i-ой строке равен нулю int k; // поиск ненулевого элемента ниже // в i-ом столбце for(k = i + 1; k < m; k++) if(A[k][i] != 0) break; if(k == m) { // все элементы столбца нулевые if(i == n – 1 - count_null_cols) { // элементов, которые могут быть // ведущими, больше нет count_null_cols++; break; } // меняем местами столбцы - текущий и // последний из непросмотренных for(int j = 0; j < m; j++) { double t = A[j][i]; A[j][i] = 208
Страницы
- « первая
- ‹ предыдущая
- …
- 206
- 207
- 208
- 209
- 210
- …
- следующая ›
- последняя »