Kurs C++ Zadanie domowe rozdział 21.
Ostatnio zmodyfikowano 2014-06-20 22:01
Soberowy Temat założony przez niniejszego użytkownika |
Kurs C++ Zadanie domowe rozdział 21. » 2012-11-29 20:06:50 Witam jestem początkującym programistą i mam prośbę czy mógłby ktoś sprawdzić czy dobrze wykonałem to zadanie? Polecenie to: "Napisz program, który wczyta 3 liczby podane przez użytkownika do tablicy, a następnie wylosuje 2 z nich bez powtórzeń. Wynik wypisz na ekran. Postaraj się napisać ten program w oparciu o funkcje." Mój program: #include <iostream> #include <cstdlib> #include <ctime> using namespace std; bool sprawdzenie( int a, int b ) { if( a != b ) return true; else return false; } int main() { srand( time( NULL ) ); int tab[ 3 ]; int i = 0; cout << "Wpisz trzy liczby: "; do { cin >> tab[ i ]; i++; } while( i < 3 ); int wynik = tab[ rand() % i ]; int wynik2 = tab[ rand() % i ]; do { if( sprawdzenie( wynik, wynik2 ) == true ) cout << "Program wylosowal dwie sposrod podanych przez Ciebie liczb.\nTe liczby to: " << wynik << ", " << wynik2; } while( sprawdzenie( wynik, wynik2 ) != true ); return 0; }
Uruchamiałem program kilka razy i wygląda na to, że chyba wszystko w porządku jednak proszę o sprawdzenie kodu przez kogoś doświadczonego. |
|
Admixior |
» 2012-11-29 20:34:17 Jeśli wylosują się 2 takie same liczby to program się zwiesi ;] Powinieneś dać losowanie w pętli //Mam nadzieje że wiesz dlaczego ;] |
|
Soberowy Temat założony przez niniejszego użytkownika |
» 2012-11-29 20:48:31 No właśnie próbowałem, ale wtedy wyskakiwały mi różne błędy z argumentami w while.. Wyskakuje mi że wynik i wynik2 was not declared in this scope. |
|
Całkowalny |
» 2014-03-02 19:23:14 Przepraszam, że odkopuję ten stary temat, ale też stanąłem na tym zadaniu i zmodyfikowałem te podane przez Soberowy i moje pytanie czy teraz jest już poprawnie, dodałem pętlę, o której była mowa. #include <iostream> #include <cstdlib> #include <ctime> using namespace std; bool sprawdzenie( int a, int b ) { if( a != b ) return true; else return false; } int main() { srand( time( NULL ) ); int tab[ 3 ]; int i = 0; cout << "Wpisz trzy liczby: "; do { cin >> tab[ i ]; i++; } while( i < 3 ); int wynik, wynik2; do { wynik = tab[ rand() % i ]; wynik2 = tab[ rand() % i ]; } while( wynik == wynik2 ); do { if( sprawdzenie( wynik, wynik2 ) == true ) cout << "Program wylosowal dwie sposrod podanych przez Ciebie liczb.\nTe liczby to: " << wynik << ", " << wynik2; } while( sprawdzenie( wynik, wynik2 ) != true ); return 0; } |
|
snajperek130 |
» 2014-06-20 22:01:50 Tez stanalem na tym zadaniu, a to co napisales jest prawidlowe :). |
|
« 1 » |