Rozdział 21 - Zadanie 1
Ostatnio zmodyfikowano 2018-05-05 21:50
Mational Temat założony przez niniejszego użytkownika |
Rozdział 21 - Zadanie 1 » 2018-05-04 19:48:13 Witam. Może ktoś sprawdzić czy wpadłem na prawidłowe rozwiązanie tego zadania ? #include <iostream> #include <limits> #include <cstdlib> #include <ctime>
int podaj() { int liczba; bool poprawnie; do { std::cout << "Podaj liczbe: "; std::cin >> liczba; poprawnie = std::cin.fail(); std::cin.clear(); std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' ); } while( poprawnie == true ); return liczba; }
bool sprawdzczypowtarza( int tab[], int liczba, int ktora ) { if( ktora <= 0 ) return false; int i = 0; do { if( tab[ i ] == liczba ) return true; i++; } while( i < ktora ); return false; }
int losuj( int ktora ) { return( std::rand() %( ktora - 1 ) ) + 0; } void wypiszliczby( int tab1[], int tab2[] ) { int i = 0; int liczba; do { liczba = tab2[ i ]; int wylosowana = tab1[ liczba ]; std::cout << i + 1 << " liczba to " << wylosowana << std::endl; i++; } while( i < 2 ); } int main() { srand( time( NULL ) ); int ktora = 0; int tablica[ 3 ]; do { int liczba = podaj(); tablica[ ktora ] = liczba; ktora++; } while( ktora < 3 ); int i = 0; int wylosowane[ 2 ]; do { int liczba = losuj( ktora ); if( sprawdzczypowtarza( wylosowane, liczba, i ) == false ) { wylosowane[ i ] = liczba; i++; } } while( i < 2 ); wypiszliczby( tablica, wylosowane ); return 0; } |
|
pekfos |
» 2018-05-04 22:03:07 A działa? |
|
Mational Temat założony przez niniejszego użytkownika |
» 2018-05-05 20:11:49 Działa,tylko chodzi mi o to, czy istnieje lepszy sposób rozwiązania tego zadania. |
|
YooSy |
» 2018-05-05 21:50:00 Istnieje, a oświecenie przyjdzie z doświadczeniem. |
|
« 1 » |