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

Crashowanie programu przez zawartą w nim losowość liczb?

Object Storage Arubacloud
0 głosów
131 wizyt
pytanie zadane 2 kwietnia 2018 w C i C++ przez Toxxxiczny Początkujący (260 p.)

Witam Was, pracuje z książką "Przewodnik dla początkujących C++" i trafiło sie tam zadanie przy dziale losowosc by utworzyc program rozdajacy 5 kart uztykownikowi i jest ciąg dalszy ale mniejsza narazie z nim iz występuje problem nastepujacy: Program przeważnie wywala, ale zdarzy się, że zadziała normalnie i pokaże wylosowaną talię 5 kart :p. Proszę Was o pomoc, w czym moze byc problem - naciskam na to że jestem początkujący w c++ i rozwiazanie tego problemu moze okazac sie banalne haha :D Ale i tak z góry dziękuje ;) Poniżej wstawiam kod:

#include <iostream>
#include <time.h>
using namespace std;

int main()
{
    string tk[14];
    tk[0]="AS";
    tk[1]="2";
    tk[2]="3";
    tk[3]="4";
    tk[4]="5";
    tk[5]="6";
    tk[6]="7";
    tk[7]="8";
    tk[8]="9";
    tk[9]="10";
    tk[10]="JOPEK";
    tk[11]="DAMA";
    tk[12]="KROL";
    tk[13]="JOKER";

    srand(time(NULL));
    cout<<"-----------------------------------"<<endl;
    cout<<"GRA W POKERA"<<endl;
    cout<<"-----------------------------------"<<endl;

    int karta1, karta2, karta3, karta4, karta5;
    karta1=rand()%14+1;
    karta2=rand()%14+1;
    karta3=rand()%14+1;
    karta4=rand()%14+1;
    karta5=rand()%14+1;
    string rk[5];  // rozdane_karty
    rk[0] = tk[karta1];
    rk[1] = tk[karta2];
    rk[2] = tk[karta3];
    rk[3] = tk[karta4];
    rk[4] = tk[karta5];

    cout<<"TWOJA TALIA KART: "<<'\t'<<rk[0]<<'\t'<<rk[1]<<'\t'<<rk[2]<<'\t'<<rk[3]<<'\t'<<rk[4]<<'\t'<<endl;






}

 

3 odpowiedzi

0 głosów
odpowiedź 2 kwietnia 2018 przez Knayder Nałogowiec (37,640 p.)
karta1=rand()%14;
karta2=rand()%14;
karta3=rand()%14;
karta4=rand()%14;
karta5=rand()%14;

 

0 głosów
odpowiedź 2 kwietnia 2018 przez Snejki Stary wyjadacz (14,520 p.)
edycja 2 kwietnia 2018 przez Snejki

Nie potrzebnie do 

rand()%14

dodajesz jeszcze 1

0 głosów
odpowiedź 2 kwietnia 2018 przez gagyn Stary wyjadacz (11,050 p.)

Zauważ, że losujesz z zakresu 0-14, a w twojej tablicy tk ostatni element to 13.

Usuń poprostu rand()%14+1

komentarz 2 kwietnia 2018 przez Toxxxiczny Początkujący (260 p.)
Tak jest Panowie, właśnie zanim zajrzałem na forum sam odkryłem błąd. Wiedziałem, że błąd bedzie banalny, i tak dzięki za pomoc, trzymajcie się, pozdrawiam ;)
komentarz 2 kwietnia 2018 przez mokrowski Mędrzec (155,460 p.)
Fajnie.. a jak będzie 10 kart do rozdania (wiem... nie poker... ) to będziesz klepał 10 razy tę samą linię? Może by pętlą spróbować?
komentarz 2 kwietnia 2018 przez Toxxxiczny Początkujący (260 p.)

Siedzi już w funkcji angel Ale generalnie nie skupiam sie na dalszej czesci pokera, chcialem tylko zgodnie z zadaniem zainicjowac rozdawanie laugh

Podobne pytania

0 głosów
1 odpowiedź 1,309 wizyt
pytanie zadane 21 lutego 2019 w Systemy operacyjne, programy przez kazami Nowicjusz (120 p.)
0 głosów
1 odpowiedź 241 wizyt
0 głosów
1 odpowiedź 334 wizyt

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...