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

Wylosowanie napisu z tablicy

42 Warsaw Coding Academy
0 głosów
451 wizyt
pytanie zadane 10 listopada 2018 w C i C++ przez Meps Nowicjusz (170 p.)
edycja 10 listopada 2018 przez Meps

Witam, dopiero się uczę, więc proszę o wyrozumiałość :D. Mam pytanie, jak poprawić kod, żeby wylosować imię z tablicy?

Proszę o szczegółowe wytłumaczenie. Z góry dziękuję :P.

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



using namespace std;

int liczba;
string imiona[5]{"Maks", "Konrad", "Filip", "Tadek", "Szymon"};
string wylosowane;

int main()
{
    srand (time(NULL));
    liczba = rand()%5+1;

    wylosowane = liczba*imiona[i];


    cout<<wylosowane;

    return 0;
}

 

2 odpowiedzi

+2 głosów
odpowiedź 10 listopada 2018 przez criss Mędrzec (172,590 p.)
Z `rand()%5+1` zrób `rand()%5`. To da ci liczbę w przedziale [0; 4] czyli legalny indeks w tablicy `imiona`. Z `liczba*imiona[i]` zrób `imiona[liczba]`. Nie mam pojęcia o co ci chodziło z tym mnożeniem ani skąd wziąłeś `i`, ale `imiona[liczba]` na pewno da ci któryś element tablicy `imiona` bo `liczba` przyjmuje wartości [0; 4].
komentarz 10 listopada 2018 przez Meps Nowicjusz (170 p.)
Dzięki działa!
0 głosów
odpowiedź 10 listopada 2018 przez izonik Stary wyjadacz (12,560 p.)
edycja 10 listopada 2018 przez izonik
#include <iostream>
#include <time.h>
#include <cstdlib>
 
using namespace std;

int main()
{
    string names[5] = {"Maks", "Konrad", "Filip", "Tadek", "Szymon"};
    
    srand (time(NULL));  // Ustawiamy "ziarno"
    int index = rand() % 5;  // Nie musimy nic dodawać bo liczymy od 0
 
    cout << names[index];  // Wyświetlamy wylosowane imię.
    
    return 0;
}
komentarz 10 listopada 2018 przez Meps Nowicjusz (170 p.)
przy srand wyskakuje mi błąd ;(

 

error: 'srand' was not declared in this scope|
komentarz 10 listopada 2018 przez izonik Stary wyjadacz (12,560 p.)
Przepraszam zapomniałem dołączyć `#include <cstdlib>`, teraz już powinno działać.

Podobne pytania

0 głosów
1 odpowiedź 207 wizyt
+2 głosów
3 odpowiedzi 660 wizyt
+1 głos
1 odpowiedź 324 wizyt
pytanie zadane 23 marca 2021 w C i C++ przez jan1 Nowicjusz (220 p.)

93,385 zapytań

142,384 odpowiedzi

322,540 komentarzy

62,745 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...