Ĺadny brzuch
Witam,
Mam se tablice stringów:
char* towar[10] = {"Banany",
"Jablka",
"Plyty CD",
"Chipsy",
"Szafy",
"Kolpaki",
"Narzedzia ogrodnicze",
"Piwa",
"Wodki",
"Odzieze"};
i teraz chce jedną z tych rzeczy wylosowac.
Losuje takim kodem:
cout<<towar[rand()%10];
i zamiast mi wyjsc jakis wylosowany towar ukazuje sie np.0x1223:frown:
czemu tak sie dzieje
pls o odpowiedzi
Kiedy siedzę sobie w kiblu spuszczone gacie mam,
przez głowę przechodzą myśli, kreuję nowy plan...:-)
Może dla tego, że deklarujesz wskaźniki do tych zmiennych, a nie same zmienne. To co ci wyskakuje jest adresem pamięci w której jest przechowywane to co cie interesuje.
Jeżeli ci w czymś pomogłem, to masz u mnie dług. Spłacisz go pomagając komuś innemu.
zamiast cout sprubuj uzyc printf, jezeli wyswietli poprawnie to cout przyjmuje twoje zmienne jako adresy i dlatego wyswietla liczbe..
FreeBSD r0x'uje
GG: 2175556
www.cepa.end.pl
FreeBSD cepa.gskgonet.com.pl 5.0-RELEASE FreeBSD 5.0-RELEASE #0: Fri Apr 23 22:28:52 CEST 2004 cepa@cepa.gskgonet.com.pl:/usr/src/sys/i386/compile/JAJKO i386
zamiast char* towar[10] =
sprobuj char towar[10] =
bubu
cytat:Radek napisał:
zamiast char* towar[10] =
sprobuj char towar[10] =
bubu
To nie pujdzie bo deklaracja ta oznacza zadeklarowanie stałej tablicy o dlugosci 10+1 bajtow...
FreeBSD r0x'uje
GG: 2175556
www.cepa.end.pl
FreeBSD cepa.gskgonet.com.pl 5.0-RELEASE FreeBSD 5.0-RELEASE #0: Fri Apr 23 22:28:52 CEST 2004 cepa@cepa.gskgonet.com.pl:/usr/src/sys/i386/compile/JAJKO i386
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Mam se tablice stringów:
char* towar[10] = {"Banany",
"Jablka",
"Plyty CD",
"Chipsy",
"Szafy",
"Kolpaki",
"Narzedzia ogrodnicze",
"Piwa",
"Wodki",
"Odzieze"};
i teraz chce jedną z tych rzeczy wylosowac.
Losuje takim kodem:
cout<<towar[rand()%10];
i zamiast mi wyjsc jakis wylosowany towar ukazuje sie np.0x1223:frown:
czemu tak sie dzieje
pls o odpowiedzi
Kiedy siedzę sobie w kiblu spuszczone gacie mam,
przez głowę przechodzą myśli, kreuję nowy plan...:-)
Może dla tego, że deklarujesz wskaźniki do tych zmiennych, a nie same zmienne. To co ci wyskakuje jest adresem pamięci w której jest przechowywane to co cie interesuje.
Jeżeli ci w czymś pomogłem, to masz u mnie dług. Spłacisz go pomagając komuś innemu.
zamiast cout sprubuj uzyc printf, jezeli wyswietli poprawnie to cout przyjmuje twoje zmienne jako adresy i dlatego wyswietla liczbe..
FreeBSD r0x'uje
GG: 2175556
www.cepa.end.pl
FreeBSD cepa.gskgonet.com.pl 5.0-RELEASE FreeBSD 5.0-RELEASE #0: Fri Apr 23 22:28:52 CEST 2004 cepa@cepa.gskgonet.com.pl:/usr/src/sys/i386/compile/JAJKO i386
zamiast char* towar[10] =
sprobuj char towar[10] =
bubu
cytat:Radek napisał:
zamiast char* towar[10] =
sprobuj char towar[10] =
bubu
To nie pujdzie bo deklaracja ta oznacza zadeklarowanie stałej tablicy o dlugosci 10+1 bajtow...
FreeBSD r0x'uje
GG: 2175556
www.cepa.end.pl
FreeBSD cepa.gskgonet.com.pl 5.0-RELEASE FreeBSD 5.0-RELEASE #0: Fri Apr 23 22:28:52 CEST 2004 cepa@cepa.gskgonet.com.pl:/usr/src/sys/i386/compile/JAJKO i386