From 1b07a149c5acca0d42d2b4034ab33762eb2b5776 Mon Sep 17 00:00:00 2001 From: Patrice Matz Date: Tue, 31 Oct 2017 13:34:25 +0100 Subject: [PATCH] -fixed gauss_down() --- SCE/SCE/SCE.cpp | 1 + SCE/SCE/lgs.cpp | 19 ++++++++++++------- SCE/SCE/lgs.h | 2 +- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/SCE/SCE/SCE.cpp b/SCE/SCE/SCE.cpp index b81471a..6f9f8d2 100644 --- a/SCE/SCE/SCE.cpp +++ b/SCE/SCE/SCE.cpp @@ -40,4 +40,5 @@ void lgs() { LGS lgs; lgs.data_entry(); + cout << lgs.gauss() << endl; } diff --git a/SCE/SCE/lgs.cpp b/SCE/SCE/lgs.cpp index d118413..1946c1d 100644 --- a/SCE/SCE/lgs.cpp +++ b/SCE/SCE/lgs.cpp @@ -28,11 +28,10 @@ void LGS::data_entry() cout << endl; } print(); - cout << "Sind die angaben Korrekt? j/n "; cin >> auswahl; + cout << "Sind die Angaben Korrekt? j/n "; cin >> auswahl; } cout << endl; - gauss_down(); } void LGS::creat_array() @@ -48,7 +47,7 @@ void LGS::print() { for (int n = 0; n < variables + 1; ++n) { - cout << (GA[i][n] > 0 ? (n == 0 ? " " : " +") : " ") << GA[i][n] << " "; + cout << (GA[i][n] >= 0 ? (n == 0 ? " " : " +") : " ") << GA[i][n] << " "; if (n == variables-1) cout << "= "; } @@ -61,7 +60,7 @@ void LGS::print_ln(int ln) for (int n = 0; n < variables + 1; ++n) { int var = 123 - variables + n; - cout << (GA[ln][n] > 0 ? (n==0 ? " " : " +"): " ") << GA[ln][n] << (var!=123 ? (char)var : ' '); + cout << (GA[ln][n] >= 0 ? (n==0 ? " " : " +"): " ") << GA[ln][n] << (var!=123 ? (char)var : ' '); if (n == variables - 1) cout << "= "; } @@ -76,7 +75,7 @@ void LGS::print_exp() { int var1 = n + 65; int var2 = 123 - variables + n; - cout << "[" << (char)var1 << i + 1; var2!=123 ? cout<< (" *") : cout << ""; var2 != 123 ? cout << (char)var2 : cout << ""; cout << "]"; + cout << "[" << (char)var1 << i + 1; var2!=123 ? cout<< (" *") << (char)var2 : cout << ""; cout << "]"; if (n == variables - 1) cout << "= "; } @@ -102,10 +101,10 @@ float LGS::gauss() void LGS::gauss_down( ) { - for(int stage = 1; stage < (variables==2 ? variables : variables-1) ; stage++) + for(int stage = 1; stage < variables ; stage++) { long double div = (GA[stage][stage-1] / GA[stage-1][stage-1]); - for (int i = 0; i < variables-1; i++) + for (int i = 0; i < variables-1 && stage+i < variables; i++) { for (int n = 0; n <= variables; n++) { @@ -121,6 +120,12 @@ void LGS::gauss_down( ) } +void LGS::gauss_up() +{ + +} + + diff --git a/SCE/SCE/lgs.h b/SCE/SCE/lgs.h index d4aec67..35e5fce 100644 --- a/SCE/SCE/lgs.h +++ b/SCE/SCE/lgs.h @@ -21,5 +21,5 @@ public: void print_ln(int); void print_exp(); void gauss_down(); - void gauss_up(){}; + void gauss_up(); }; \ No newline at end of file