Sziasztok!
Már elég régóta ezzel szöszölök, de nem sikerült megoldanom. GMP-ben (GNU Multi-Precision Library) szeretnék egy mátrixnak értéket adni, anélkül hogy egyesével kelljen felsorolnom.
mpf_set_str (mpf_t rop, char *str, int base) //az értékadás függvénye, ahol a középső tagban kell az értéket megadni
Most mindenféle kísérletezgetés után, azzal próbálkoztam, hogy egy több dimenziós char típusú tömböt hozzak létre, ami tartalmazza az értékeket, és ezt adjam át majd egy for ciklussal. A probléma ott van, hogy nem tudom a tömböt létrehozni.
Mindenféle megoldásra vevő lennék,
előre is köszi!
- 2298 megtekintés
Hozzászólások
Úgy látom nem túl világos a kérdés. Szóval ugyanezt szeretném elérni, csak egy char típusú tömbbel.
std::string tau_szoveg [regiok_szama][regiok_szama] = {
{"1","roka","1","1","1","1","1"},
{"1","1","1","1","1","1","1"},
{"1","1","1","1","1","1","1"},
{"1","1","virgács","1","1","1","1"},
{"1","1","1","1","1","1","1"},
{"1","1","1","1","1","1","1"},
{"1","1","1","1","1","1","1"}
};
- A hozzászóláshoz be kell jelentkezni
Az std::string -et cseréld le const char* -ra
- A hozzászóláshoz be kell jelentkezni
Most úgy tűnik nekem, hogy a tau_szoveg[1][2] nem a róka szót tartalmazza Habár lehet tévedek.
- A hozzászóláshoz be kell jelentkezni
tombindex 0-tol kezodik, persze, hogy nem az..
--
Always remember you’re unique, just like everyone else.
- A hozzászóláshoz be kell jelentkezni
Ez tényleg nagyon béna volt...
- A hozzászóláshoz be kell jelentkezni
Úgy tűnik működik. A kérdésem csak az, hogy miért nem simán char kell, és mi ez a const char*?
köszi!
- A hozzászóláshoz be kell jelentkezni
A char* az a c-s "string". Gyakorlatilag egy karaktertombre mutato pointer, es a chartombot \0 zarja. Ezzel gyakorlatilag felvettel a memoriaban egy rakas olyan tombot, aminek a 0. karaktere '1', es az utana kovetkezo karakter nulla erteku ('\0'), ezek a "1" stringjeid. Meg lefoglaltal "roka" tombot is, (sorban 'r','o','k','a','\0' ertekekkel), meg amit meg beirtal. Valamint letrejott egy 2dimenzios tomb (gyakorlatilag egydimenzios tombokbol allo egydimenzios tomb), benne olyan pointerekkel, amik sorban ezekre a "stringjeidre" (pontosabban ezek nulladik indexu karakterere) mutatnak.
A const konstanssa teszi a mutatot, hulyeseg ellen ved valamennyire, illetve a forditonak segithet kioptimalizalni dolgokat (ha mar tud valamit, es tudja, hogy nem valtozik, akkor bizonyos esetekben nem szamolja ujra).
Ha csak siman char-t irnal a char* helyere, nem stringed lenne, hanem 1-1 kulonallo karaktered, pl. 10-et mar nem tudnal bevinni (tul hosszu lenne). Ezert irtak meg a fuggvenyt ugy, hogy char*-ot kerjen, es ezert kell olyat adni neki amit ker.
Jotanacs: elobb egy kis C alapot vegyel fel, mert mutatok nelkul nehez lesz a tovabblepes (ugyse fog menni nelkule, csak szivsz). Egyebkent nem ismerem a GMP-t, de attol meg nagyon valoszinunek tartom.
--
Always remember you’re unique, just like everyone else.
- A hozzászóláshoz be kell jelentkezni
Köszi! Akkor mindenféleképpen érdemes lenne átnéznem a mutatókat. Azt hittem nem lesz rájuk szükségem, ezért nem néztem át. Pedig még nagyon rég készítettem Pascalban láncolt listát.
- A hozzászóláshoz be kell jelentkezni