Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Алгоритм метода.
1. Заполнить таблицу Джордана-Гауса.
2. Дополнить таблицу столбцами Ain+1, где Ain+1=∑Aij, i=1,m/
3. Выбрать среди коэффициентов при неизвестных элементах элемент Apq≠0. Этот элемент называется не разрешающим.
4. В новую таблицу Джордана-Гауса записать в p-тую строку (разрешающую) элементы, которые вычисляются по правилу:
A'pj j=0,n+1
5. Провести контроль вычислений. Для этого вычислить сумму элементов. Если указанные две величины в этом столбце совпадают, то вычисления произведены верно. В противном случае повторить пункт 4.
6. Преобразовать построчно оставшиеся элементы таблицы по формулам:
A'ij=aij - i=1,m; i≠p; j=1,n+1
Главная диагональ – это диагональ, которая соединяет старый элемент
и разрешающий элемент. Соответственно противоположная диагональ
называется побочной.
7. После преобразования элементов строки осуществлять контроль аналогичный контролю из пункта 5. Пункты 3-7 образуют одну итеррацию метода.
8. После проведения нескольких итераций может реализоваться один из следующих случаев: а)в k-той строке таблице во всех столбцах
получены нули.
б)в k-той строке таблице в столбцах с первого по
n-ый получены нули, а в столбце Ai0 получен
элемент отличный от нуля (Ak0≠0).
Случай (а) может наступить, если k-тое уравнение системы является линейной комбинацией остальных уравнений системы. Решение следует продолжить.
Случай (б) может наступить при несовместимости системы уравнений, т. к. в k-той строке получено уравнение:
0x1+0x2+…+0xn=Ak0, где Ak0≠0
Это уравнение не имеет решений не при каких значениях x. Решение
системы закончить.
9. Начинается новая итерация (разложение по новому базису). В начале
i-той итеррции следует выбрать элемент Apiqi≠0 из строки, которая до этого не была разрешающей, т. е. Pi≠P1, Pi≠Pi-1.
10. Повторять пункты 3-9 до тех пор, пока можно будет выбирать
разрешающий элемент Apiqi≠0 с учётом правила выбора из пункта 9.
Очевидно, что максимальное число итераций равно m (числу
уравнений), но если реализовался пункт 8, то числа итерраций будет
меньше.
11. После проведения всех итеррций выписать систему уравнений
соответствующих последней таблицы. Переменные xj, которые содержатся только в одном уравнении полученной системы, называются базисными переменными, а остальные – свободными. Свободные переменные есть только в том случае, если m < n. Общим решением системы для систем, у которых ранг меньше чем n называется такое решение, из которого может быть получено любое частное решение системы. Для того чтобы записать общее решение системы необходимо свободные переменные перенести в правые части всех уравнений полученной системы.
Текст программы.
#include<iostream. h>
#include<conio. h>
void main()
{
double massiv[5][7];
double M[5];
int i, j;
for(i=0;i<5;i++)
{
cout<<"\n Vvedite koeficientu dlya "<<i+1<<" - go yravneniya: ";
for(j=0;j<5;j++)
cin>>massiv[i][j];
}
for(i=0;i<5;i++)
{
cout<<"\n Vvedite dlya "<<i+1<<" - go yravneniya: ";
cin>>massiv[i][5];
}
for(i=0;i<5;i++)
{
M[i]=0;
for(j=0;j<6;j++)
M[i]=M[i]+massiv[i][j];
}
for(i=0;i<5;i++)
massiv[i][6]=M[i];
cout<<"\n ";
for(i=0;i<5;i++)
{
cout<<"\n ";
for(j=0;j<7;j++)
cout<<massiv[i][j]<<" ";
}
double buffer;
buffer=massiv[0][0];
for(j=0;j<7;j++)
massiv[0][j]=massiv[0][j]/buffer;
for(i=1;i<5;i++)
{
for(j=1;j<7;j++)
massiv[i][j]=massiv[i][j]-((massiv[0][j]*massiv[i][0])/massiv[0][0]);
}
for(i=1;i<5;i++)
massiv[i][0]=0;
double A[7];
for(j=0;j<7;j++)
{
A[j]=massiv[1][j];
massiv[1][j]=massiv[4][j];
massiv[4][j]=A[j];
}
buffer=massiv[1][1];
for(j=1;j<7;j++)
massiv[1][j]=massiv[1][j]/buffer;
for(j=2;j<7;j++)
massiv[0][j]=massiv[0][j]-((massiv[0][1]*massiv[0][j])/massiv[1][1]);
for(i=2;i<5;i++)
for(j=2;j<7;j++)
massiv[i][j]=massiv[i][j]-((massiv[1][j]*massiv[i][1])/massiv[1][1]);
massiv[0][1]=0;
for(i=2;i<5;i++)
massiv[i][1]=0;
buffer=massiv[2][2];
for(j=2;j<7;j++)
massiv[2][j]=massiv[2][j]/buffer;
for(i=0;i<2;i++)
for(j=3;j<7;j++)
massiv[i][j]=massiv[i][j]-((massiv[i][2]*massiv[2][j])/massiv[2][2]);
for(i=3;i<5;i++)
for(j=3;j<7;j++)
massiv[i][j]=massiv[i][j]-((massiv[2][j]*massiv[i][2])/massiv[2][2]);
for(i=0;i<2;i++)
massiv[i][2]=0;
for(i=3;i<5;i++)
massiv[i][2]=0;
buffer=massiv[3][3];
for(j=3;j<7;j++)
massiv[3][j]=massiv[3][j]/buffer;
for(i=0;i<3;i++)
for(j=4;j<7;j++)
massiv[i][j]=massiv[i][j]-((massiv[i][3]*massiv[3][j])/massiv[3][3]);
for(j=4;j<7;j++)
massiv[4][j]=massiv[4][j]-((massiv[3][j]*massiv[4][3])/massiv[3][3]);
for(i=0;i<3;i++)
massiv[i][3]=0; massiv[4][3]=0;
buffer=massiv[4][4];
for(j=4;j<7;j++)
massiv[4][j]=massiv[4][j]/buffer;
for(i=0;i<4;i++)
for(j=5;j<7;j++)
massiv[i][j]=massiv[i][j]-((massiv[i][4]*massiv[4][j])/massiv[4][4]);
for(i=0; i<4;i++)
massiv[i][4]=0;
cout<<"\n ";
for(i=0;i<5;i++)
{
cout<<"\n ";
for(j=0;j<7;j++)
cout<<massiv[i][j]<<" ";
}
getch();
}



