[ fresh.bm @ 09.12.2008. 21:01 ] @
Ako unesem neki veoma dugacak broj koji moze imati do 100 cifara i smjestim ga u string s; Kako da svaku pojedinacnu cifru iz stringa prebacim u niz[100]? |
[ fresh.bm @ 09.12.2008. 21:01 ] @
[ t0d0r @ 09.12.2008. 21:46 ] @
Mozda ovako nekako ...
Code: //Broj je prethodno unet u string str int niz[100]; for(int i=0;i<100;++i) niz[i]=0; int brojCifara=0; //korisno radi kasnijeg prikazivanja elemenata niza for(int i=0;i<100;++i) if(isdigit(str.c_str()[i])) niz[i]=str.c_str()[i]-48; else{ brojCifara=i; break; } for(int i=0;i<brojCifara;++i) cout<<niz[i]; [ fresh.bm @ 09.12.2008. 21:54 ] @
Hm, da. Tako sam i ja slicno pokusao.
Ali trebam upisati broj iz stringa od pozadi, jer trebam realizovati funkciju sabiranja i oduzimanja dva velika broja. (koja ne moraju biti iste duzine); Postoji li funkcija za okretanje stringa? Ne znam nista oko stringova! [ fresh.bm @ 09.12.2008. 22:01 ] @
Code: char* s; s = new char[100]; int broj[100] = {-10}; int i=0; for(i = 0; (*(s + i)) != '\0'; i++) { broj[i] = (*(s + i)) - 48; } broj[i] = -10; // -10 mi oznacava kraj broja; } kako okrenuti niz, da mi ide od kraja niza s? ovde mi jos pravi problem ako je neka cifra 0; [ t0d0r @ 09.12.2008. 22:14 ] @
Mozes li da postavis kako konkretno glasi zadatak??
Zato sto se kroz string moze prolaziti sa kraja tako sto u for-u inicijalizujes promenljivu na poslednji element... ali to ti, cini mi se , ne resava problem... [ fresh.bm @ 09.12.2008. 22:21 ] @
Trebam ucitati dva velika broja, koji mogu imati do 100 cifara.
Moram realizovati funkcije sabiranja, oduzimanja i mnozenja velikih brojeva. Isprobao sam tvoj kod i radi ono sto mi je potrebno, samo moram okrenuti string. To sto si predlozio da iniciram promjenjivu na posljednji element mi bas i treba, kojom funkcijom se to radi? Ako moze mali primjercic, bio bih veoma zahvalan. [ t0d0r @ 09.12.2008. 22:31 ] @
Code: for(int i=strlen(s)-1;i>=0;--i) //Pristupa poslednjem elementu u stringu [ fresh.bm @ 09.12.2008. 22:32 ] @
Ok, puno hvala. Ako nesto zapne javicu se.
poz. Copyright (C) 2001-2024 by www.elitesecurity.org. All rights reserved.
|