C++ Program Algorytm Euklidesa
Ostatnio zmodyfikowano 2015-11-23 06:18
simonx10 Temat założony przez niniejszego użytkownika |
C++ Program Algorytm Euklidesa » 2015-11-18 19:37:39 Witam, piszę program algorytm euklidesa i mam kłopot bo program nie działa, o to kod: Z góry dziękuję za pomoc i pozdrawiam :)
#include <iostream> #include <cmath>
using namespace std;
int main() { int a, b; cin >> a; cin >> b; if (a != b) { while (a%b != 0) { a = b; b = a%b;
} cout << "to jest b\n" << b << endl; system("pause"); return 0; } else cout << "to jest a\n" << a << endl; system("pause"); return 0;
} |
|
carlosmay |
» 2015-11-18 19:55:35 while(( a % b ) != 0 ) { a = b; b = a % b; }
tutaj pętla wykona się raz, a przy drugim przebiegu masz dzielenie modulo przez 0; |
|
ArgonZapan |
» 2015-11-18 19:56:48 W tym miejscu jest problem
a = b; b = a%b;
bo jak do "a" przypiszesz "b" to potem "b" = "b" % "b" więc od razu masz b = 0
|
|
simonx10 Temat założony przez niniejszego użytkownika |
» 2015-11-18 20:10:28 Jak to najprościej zmienić ? |
|
ArgonZapan |
» 2015-11-18 20:12:26 int c = a; a = b; b = c % b; |
|
carlosmay |
» 2015-11-18 20:44:28 a warunek pętli powinien sprawdzać, b nie jest zerem |
|
simonx10 Temat założony przez niniejszego użytkownika |
» 2015-11-22 16:32:56 Program mam już gotowy, wygląda on tak :
#include <iostream> #include <cmath>
using namespace std;
int main(int argc, char ** argv) { int a, b, c; cin >> a; cin >> b; if (a != b) { while (a%b != 0) { c = a; a = b; b = c % b;
} cout << b << endl; } else cout << a << endl; }
Mam pytania, jak zrealizować ten warunek: Program musi być odporny na błędy wprowadzanych danych (brak plików, błędne dane, błędny format danych, puste pliki, niepoprawne parametry uruchomienia programu, . . . ). Błąd danych nie może spowodować zatrzymania programu przez system operacyjny. Program powinien wyświetlić stosowny komunikat.
|
|
carlosmay |
» 2015-11-23 06:18:14 Warunek '(b != 0)'. Najlepiej napisać funkcje, która wczytuje i zwraca poprawne dane. Napisać warunki, które będą pilnować poprawności danych. |
|
« 1 » |