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

losowanie z tablicy string vs const char *

Object Storage Arubacloud
+1 głos
572 wizyt
pytanie zadane 5 listopada 2017 w C i C++ przez paweljumper Obywatel (1,260 p.)

Witam mam pytanie, a mianowicie czemu w kodzie poniżej tablica słów string działa a const char * po paru wylosowaniach zawiesza program? Chodzi oczywiście o tablicę words z 7 linijki.

#include <iostream>
#include <random>
#include <time.h>

const int LIM = 26;
using std::string;
const char * words[LIM] = {"agrest", "bigos", "czara",
    "drewno", "ekipa", "figura", "gorycz", "hiena", "iskra",
    "junior", "krata", "lizak", "miska", "nurek", "obuwie",
    "pisak", "rozum", "smalec", "taryfa", "umiar", "video",
    "welon", "yeti", "zalew", "zimno", "zapas"};

int main()
{
    using std::cout;
    using std::cin;
    using std::endl;
    srand(time(NULL));
    cout << "Zagraj w wisielca!" << endl;
    char play;
    cout << "Chcesz zagrac? ";
    cin >> play;
    play = tolower(play);
    string target;
    int guesses = 6;
    while (play == 't')
    {
        guesses = 6;
        target = words[rand() % LIM];
        cout << target << endl;
        cout << "Jeszcze raz?";
        cin >> play;
        play = tolower(play);
    }
    return 0;
}


 

komentarz 5 listopada 2017 przez Szahid Pasjonat (20,930 p.)
U mnie działa w dobrze w nieskończeność. ( po zamianie warunku pętli oczywiście)
komentarz 5 listopada 2017 przez paweljumper Obywatel (1,260 p.)
Wcześniej zawieszało się po 3,7 razach ale to pewnie przez mój komputer :P. Teraz działa.

2 odpowiedzi

0 głosów
odpowiedź 5 listopada 2017 przez AleX1010 Obywatel (1,320 p.)
Witaj!

U mnie wszystko działa poprawnie i mogę losować w nieskończoność.
0 głosów
odpowiedź 5 listopada 2017 przez Patrycjerz Mędrzec (192,320 p.)
Kod powinien działać normalnie.

PS Zamień te wszystkie using na normalne using namespace lub w ogóle z niego nie korzystaj. Jeśli zamierzasz używać wszystkiego z przestrzeni std bez prefiksu, to po co dla każdego elementu osobno tworzyć alias, jak można wszystko załatwić jedną linią?

Podobne pytania

0 głosów
1 odpowiedź 912 wizyt
pytanie zadane 20 stycznia 2016 w C i C++ przez Przypadek Początkujący (420 p.)
0 głosów
2 odpowiedzi 1,580 wizyt
pytanie zadane 12 listopada 2017 w C i C++ przez Nordzixd Nowicjusz (160 p.)
0 głosów
3 odpowiedzi 1,638 wizyt
pytanie zadane 14 października 2017 w C i C++ przez Shiro Stary wyjadacz (10,300 p.)

92,576 zapytań

141,426 odpowiedzi

319,650 komentarzy

61,961 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!

...