• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z resetowaniem się licznika

HackNation - ogólnopolski hackathon
0 głosów
190 wizyt
pytanie zadane 19 listopada 2023 w C i C++ przez Kamil bachan Nowicjusz (120 p.)

Cześć!
Mam problem z resetowaniem licznika przy liczbie 15.

W poniższym kodzie chciałem napisać symulator rzutu monetą, lecz napotkałem problem. Przy serii 15 x lub y licznik zawsze się resetuje. W wyniku za każdym razem otrzymuję: 15 15

#include <iostream>
#include <ctime>

int main()
{
    srand(time(NULL));

    int n = 10000000;

    int x = 0;
    int y = 0;
    int bX = 0;
    int bY = 0;

    for(int i = 0; i < n; i++){

        int num = rand() % 2 + 1;

        if(num == 1){
            x++;
            if(x > bX){
                bX = x;
            }
            y = 0;
        }
        else{
            y++;
            if(y > bY){
                bY = y;                
            }
            x = 0;
        }
    }
    std::cout << bX << " " << bY << std::endl;
    return 0;
}

 

W drugim kodzie licznik działa prawidłowo.

 

#include <iostream>
#include <ctime>

int main()
{
    srand(time(NULL));

    int n = 10000000;

    int x = 0;
    int y = 0;
    int bX = 0;
    int bY = 0;

    for(int i = 0; i < n; i++){

        int num = rand() % 10 + 1;

        if(num <= 5){
            x++;
            if(x > bX){
                bX = x;
            }
            y = 0;
        }
        else{
            y++;
            if(y > bY){
                bY = y;                
            }
            x = 0;
        }
    }
    std::cout << bX << " " << bY << std::endl;
    return 0;
}

Dlaczego pierwszy kod nie działa?

komentarz 19 listopada 2023 przez overcq Pasjonat (22,630 p.)

Widocznie znalazłeś powtarzalność bitów tego prostego generatora liczb pseudo‐losowych.

U mnie wychodzą dla obu kodów wartości pomiędzy ok. 19 a 28.

komentarz 19 listopada 2023 przez Kamil bachan Nowicjusz (120 p.)
Dzięki

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 604 wizyt
pytanie zadane 31 października 2018 w Grafika i multimedia przez Slegnawierzchowcu Użytkownik (860 p.)
0 głosów
1 odpowiedź 263 wizyt
0 głosów
1 odpowiedź 253 wizyt
pytanie zadane 20 sierpnia 2020 w C i C++ przez th3r4t3l Nowicjusz (120 p.)

93,628 zapytań

142,551 odpowiedzi

323,051 komentarzy

63,133 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 1936p. - dia-Chann
  2. 1916p. - DziarnowskiJ
  3. 1886p. - Łukasz Piwowar
  4. 1841p. - raydeal
  5. 1840p. - Adrian Wieprzkowicz
  6. 1782p. - rucin93
  7. 1640p. - CC PL
  8. 1616p. - Maurycy W
  9. 1588p. - Tomasz Bielak
  10. 1521p. - Michal Drewniak
  11. 1491p. - Rafał Trójniak
  12. 1471p. - rafalszastok
  13. 1444p. - robwarsz
  14. 1257p. - ssynowiec
  15. 1208p. - Mariusz Fornal
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...