Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C]Gra Penney'a

Ostatnio zmodyfikowano 2014-05-27 12:48
Autor Wiadomość
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.
C/C++
#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 ] );
            //sprawdz_serie = ciag[k-3] + ciag[k-2] + ciag[k-1] + 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.
P-110928
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ść.

C/C++
return wynik1, wynik2;
Co to?
P-110940
« 1 »
  Strona 1 z 1