Problem ze zrozumieniem przykładu z rozdziału 21 i zadania.
Ostatnio zmodyfikowano 2014-06-25 01:28
snajperek130 Temat założony przez niniejszego użytkownika |
» 2014-06-20 22:56:07 Dzieki wielkie, dziala !! :D W zyciu nie zczailbym sie, ze to przez te glupie return true w nieodpowiedniej linijce jest przyczyna bledu ... #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
bool sprawdzenie( int liczba, int tablica2[], int ile ) { if( ile <= 0 ) { return true; } else { int l = 0; do { if( liczba != tablica2[ l ] ) return true; l++; } while( l != ile ); return false; } } int wpisz( int tablica1[] ) { cout << "Wpisz 3 liczby:"; int l = 0; do { cin >> tablica1[ l ]; l++; } while( l < 3 ); } int losuj( int tablica1[] ) { int a = rand() % 3; int b = tablica1[ a ]; return b; }
int wypisz( int tablica1[], int tablica2[] ) { cout << "Liczby podane:" << endl; cout << tablica1[ 0 ] << endl; cout << tablica1[ 1 ] << endl; cout << tablica1[ 2 ] << endl; cout << "Liczby wylosowane:" << endl; cout << tablica2[ 0 ] << endl; cout << tablica2[ 1 ] << endl; } int main() { srand( time( NULL ) ); int tablica1[ 3 ]; int tablica2[ 2 ]; wpisz( tablica1 ); int l = 0; do { int liczba = losuj( tablica1 ); tablica2[ l ] = liczba; if( sprawdzenie( liczba, tablica2, l ) == true ) l++; } while( l != 2 ); wypisz( tablica1, tablica2 ); return 0; }
|
|
snajperek130 Temat założony przez niniejszego użytkownika |
» 2014-06-21 17:09:06 Kurde, teraz problem z drugim zadaniem, liczby wylosowane liczby znowu sie powtarzaja ;/ #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
bool sprawdzenie( int liczba, int tablica2[], int ile ) { if( ile = 0 ) { return true; } else { int l = 0; do { if( liczba != tablica2[ l ] ) return true; l++; } while( l != 8 ); return false; } } int wpisz( int tablica1[] ) { cout << "Wpisz 10 liczb:" << endl; int l = 0; do { cin >> tablica1[ l ]; l++; } while( l != 10 ); } int losuj( int tablica1[] ) { int a = rand() % 10; int b = tablica1[ a ]; return b; }
int wypisz( int tablica1[], int tablica2[] ) { int e = 0; int l = 0; do { cout << "Liczby podane:"; cout << tablica1[ l ] << endl; l++; } while( l != 10 ); cout << endl << endl; do { cout << "Liczby wylosowane:"; cout << tablica2[ e ] << endl; e++; } while( e != 8 ); }
int main() { srand( time( NULL ) ); int tablica1[ 10 ]; int tablica2[ 8 ]; wpisz( tablica1 ); int l = 0; do { int liczba = losuj( tablica1 ); tablica2[ l ] = liczba; if( sprawdzenie( liczba, tablica2, l ) == true ) l++; } while( l != 8 ); wypisz( tablica1, tablica2 ); return 0; }
|
|
pekfos |
» 2014-06-21 23:44:02 .. if( liczba != tablica2[ l ] ) return true;
|
W ten sposób będziesz sprawdzać tylko pierwszą liczbę. (W dużym uproszczeniu. W zasadzie, sprawdzenie() jest do niczego, ale nie chce mi się nie mam czasu się nad bardziej rozpisywać..) |
|
snajperek130 Temat założony przez niniejszego użytkownika |
i igt » 2014-06-25 01:28:13 #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
bool sprawdzenie( int liczba, int tablica2[], int ile ) { if( ile <= 0 ) return false; int i = 0; do { if( tablica2[ i ] == liczba ) return true; i++; } while( i < ile ); return false; }
int wpisz( int tablica1[] ) { cout << "Wpisz 10 liczb:" << endl; int l = 0; do { cin >> tablica1[ l ]; l++; } while( l < 10 ); } int losuj( int tablica1[] ) { int a = rand() %( 10 ) + 1; int b = tablica1[ a ]; return b; }
int wypisz( int tablica1[], int tablica2[] ) { int e = 0; int l = 0; do { cout << "Liczby podane:"; cout << tablica1[ l ] << endl; l++; } while( l != 10 ); cout << endl << endl; do { cout << "Liczby wylosowane:"; cout << tablica2[ e ] << endl; e++; } while( e < 8 ); }
int main() { srand( time( NULL ) ); int tablica1[ 10 ]; int tablica2[ 8 ]; wpisz( tablica1 ); int l = 0; do { int liczba = losuj( tablica1 ); tablica2[ l ] = liczba; if( sprawdzenie( liczba, tablica2, l ) == false ) l++; } while( l < 8 ); wypisz( tablica1, tablica2 ); return 0; }
lub #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
bool sprawdzenie( int liczba, int tablica2[], int ile ) { if( ile <= 0 ) return false; int i = 0; do { if( tablica2[ i ] == liczba ) return true; if( tablica2[ i ] != liczba ) i++; } while( i < ile ); return false; }
int wpisz( int tablica1[] ) { cout << "Wpisz 10 liczb:" << endl; int l = 0; do { cin >> tablica1[ l ]; l++; } while( l < 10 ); } int losuj( int tablica1[] ) { int a = rand() %( 10 ) + 1; int b = tablica1[ a ]; return b; }
int wypisz( int tablica1[], int tablica2[] ) { int e = 0; int l = 0; do { cout << "Liczby podane:"; cout << tablica1[ l ] << endl; l++; } while( l != 10 ); cout << endl << endl; do { cout << "Liczby wylosowane:"; cout << tablica2[ e ] << endl; e++; } while( e < 8 ); }
int main() { srand( time( NULL ) ); int tablica1[ 10 ]; int tablica2[ 8 ]; wpisz( tablica1 ); int l = 0; do { int liczba = losuj( tablica1 ); tablica2[ l ] = liczba; if( sprawdzenie( liczba, tablica2, l ) == false ) l++; } while( l < 8 ); wypisz( tablica1, tablica2 ); return 0; }
|
|
1 « 2 » |