#define N 5
#define MLI 30
double E = 0.0001;
void b(double alfa[N][N], double beta[N]);
void c(double alfa[N][N], double beta[N]);
int main()
{
double alfa[N][N], beta[N];
b(alfa, beta);
c(alfa, beta);
}
void b(double alfa[N][N], double beta[N])
{
double A[N][N] = { { 10, 1, 1, 1, 2 }, { 3, 20, 4, 2, 1 }, { 5, 1, 40, 9, 5 }, { 3, 0, 1, 10, 1 }, { 6, 2, 1, 1, 20 } };
double B[N] = { 15, 30, 60, 15, 30 };
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
if (i == j)
{
if (alfa[i][j] == 0)
{
std::cout << "Dzielenie przez ZERO/n";
system("Pause");
return;
}else{
beta[i] = B[i] / A[i][i];
alfa[i][j] = 0;
}
}
else if (A[i][i]!=0)
{
alfa[i][j] = -A[i][j] / A[i][i];
}
}
}
}
void c(double alfa[N][N], double beta[N])
{
int licznik_iteracji = 0;
double *Xnowy = beta;
double *Xstary;
double norma = 0;
do{
Xstary = Xnowy;
licznik_iteracji++;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < i-1; j++)
{
Xnowy[i] += Xnowy[j] * alfa[i][j];
}
for (int j = i; j < N; j++)
{
Xnowy[i] += alfa[i][j] * Xstary[j];
}
Xnowy[i] += Xstary[i];
for (i = 0; i < N; i++)
{
if (abs(Xnowy[i] - Xstary[i])>norma)
{
norma = abs(Xnowy[i] - Xstary[i]);
}
}
}
} while (norma > E && MLI < licznik_iteracji);
for (int i = 0; i < N; i++)
{
std::cout << " " << Xnowy[i];
}
std::cout << std::endl << " " << licznik_iteracji << std::endl;
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}