[C]Gra Penney'a
Ostatnio zmodyfikowano 2014-05-27 12:48
yerpy Temat założony przez niniejszego użytkownika |
[C]Gra Penney'a » 2014-05-26 22:49:22 Mam problem ze zliczaniem serii nr 2 i w niektórych przypadkach również seria nr 1 jest źle liczona. Nie mam już totalnie pomysłu co może być źle. #include "stdio.h" #include "time.h" void przypisz_serie( char[] ); int losujemy_i_liczymy( char[], char seria_gracza_nr2[] ); int main() { char seria_gracza_nr_jeden[ 4 ], seria_gracza_nr_dwa[ 4 ]; int wynik_dla_gracza_nr2, wynik_dla_gracza_nr1; printf( "Podaj serie gracza nr.1 : " ); przypisz_serie( seria_gracza_nr_jeden ); printf( "\n" ); printf( "Podaj serie gracza nr.2 : " ); przypisz_serie( seria_gracza_nr_dwa ); printf( "\n" ); wynik_dla_gracza_nr1 = losujemy_i_liczymy( seria_gracza_nr_jeden, seria_gracza_nr_dwa ); printf( "\nWynik serii nr.1 : %d Wynik serii nr.2 : %d", wynik_dla_gracza_nr1, wynik_dla_gracza_nr2 ); return 0; } void przypisz_serie( char t[ 4 ] ) { int licznik = 0; char seria; while(( seria = getchar() ) != '\n' && licznik < 4 ) { t[ licznik ] = seria; printf( "%c", t[ licznik ] ); licznik++; } } int losujemy_i_liczymy( char seria_gracza_nr1[ 4 ], char seria_gracza_nr2[ 4 ] ) { srand(( unsigned int ) time( NULL ) ); int n = 1; int k, m; char ciag[ 1000 ]; int zliczanie1 = 0, zliczanie2 = 0; int wynik1, wynik2; int ilosc_symulacji = 0; char sprawdz_serie; while( ilosc_symulacji < 1000 ) { for( k = 0; k < n && n < 1000; k++, n++ ) { ciag[ k ] =( rand() % 2 == 0 ) ? 'r' : 'o'; printf( "%d", ciag[ k ] ); for( m = 0; m < 4; m++ ) { if( ciag[ k ] == seria_gracza_nr1[ m ] ) { zliczanie1++; wynik1 = zliczanie1; break; } if( ciag[ k ] == seria_gracza_nr2[ m ] ) { zliczanie2++; wynik2 = zliczanie2; break; } } } ilosc_symulacji++; } return wynik1, wynik2; }
Zapomniałem dopisać returna. |
|
pekfos |
» 2014-05-27 12:48:07 wynik_dla_gracza_nr2 w main() nigdy nie dostaje żadnej wartości, a wynik_dla_gracza_nr1 dostaje złą wartość. Co to? |
|
« 1 » |