Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
stringstream primjer
Author Message
MetalGenius Offline
Novi korisnik
*

Posts: 46
Joined: Oct 2011
Reputation: 3
Post: #1
stringstream primjer
Code:
int funk (int x,int l)
{
    //x=ukupna suma svega ucitanog
    //trazimo prvu i zadnju cifru
    int zc=x%10;
    
int Number = x;                               //number to convert int a string
string Result;                                  //string which will contain the result
stringstream convert;                      // stringstream used for the conversion
convert<<Number;                          //add the value of Number to the characters in the stream
Result = convert.str();                    //set Result to the content of the stream
string pcr=convert.substr(0,1);
...

Oke, znači, ovakav kodić nađem na netu.. ovo je dio moga jednog koda.
Sad, ako je convert ustvari neki broj konvertovan u string, zašto se ne može iskoristiti member s.substr(a,b) za vađenje podniza?

Probala sam i kastovati ovaj convert u string, ali samo prijavljuje još više grešaka.
Jel može neko da pomogne oko ovoga? (ako može da se riješi na ovaj način, čini mi se najlakše :) )
Poz. :) He he

I can't escape myself.
(This post was last modified: 02-03-2012 01:37 AM by MetalGenius.)
02-03-2012 01:36 AM
Find all posts by this user Quote this message in a reply
danielvast Offline
Forumaš
***

Posts: 432
Joined: Dec 2009
Reputation: 22
Post: #2
RE: stringstream primjer
Ti u biti zelis naci prvu i zadnju cifru datog broja prvu cifru si našla nadjes samo cjelobrojni ostatak djeljenja sa 10 i to je ok zašto istom logikom ne nastaviš cjelobrojno djeliš sa 10 i ostatak stavljaš u posebnu varijablu dok ne dodješ do situacije da ne možeš djeliti nešto ovako
Code:
-----
    int x = 234324340, y;
    
    std::cout << "zadnja cifra je " << x%10 << std::endl;
    while (x%10) {
          y=x%10;
          x=x/10;
    }
    std::cout << "prva cifra je "  << y << std::endl;
------

Nema mi smisla da praviš objekt koji ces na kraju kastovati u integer ??? U c,c++ moraš naučiti razlikovati tipove podataka sve je to u basicu divno i krasno ali u ovom programskom jeziku moraš gledati da je krajnji rezultat što optimalniji kod koji će dati najbolje rješenje. A inače funkcija za pretvaranje niza znakova u cjeli broj je atoi() i itoa() [obrnuto] naravno prvo moraš dobiti niz znakova od string objekta to radis sa c_str() funkcijom pa imas
Code:
int num = atoi(pcr.c_str()).

Te također ova linija koda
Code:
string pcr=convert.substr(0,1);

Bi trebala biti:
Code:
string pcr=Result.substr(0,1);

U svakom slučaju neznam točno što željiš postići pa nemogu ti dati točan odgovor. :)

"When all else fails, read the manual."
(This post was last modified: 05-03-2012 11:08 AM by danielvast.)
05-03-2012 10:04 AM
Find all posts by this user Quote this message in a reply
MetalGenius Offline
Novi korisnik
*

Posts: 46
Joined: Oct 2011
Reputation: 3
Post: #3
RE: stringstream primjer
Hvala ti.
Ma, zaista, iako c++ ima brojne ugrađene funkcije, ovo sa tipovima podataka mi se nikako ne sviđa.

Hvala ti u svakom slučaju. :)

I can't escape myself.
05-03-2012 06:23 PM
Find all posts by this user Quote this message in a reply
danielvast Offline
Forumaš
***

Posts: 432
Joined: Dec 2009
Reputation: 22
Post: #4
RE: stringstream primjer
Nema na čemu Namigivanje malko se sad čini besmislenim ali ima velikog smisla, samo polako nitko nije sve preko noći naučio :)

"When all else fails, read the manual."
05-03-2012 06:34 PM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)