[ Chojba @ 17.06.2012. 17:24 ] @
Ovako... Citao sam danas o stringovima u C++-u(do sad sam koristio *char), medjutim naleteo sam na problem pri testiranju najjednostavnijeg programa koji mi je pao na pamet. Ili void funkcija ne moze da ima ovakve argumente(valjda bi se bunio kompajler da je to problem ? :confused: ) ili je u pitanju neka jos veca glupost sa moje strane. Ko vidi gresku neka napise :) Code: #include <iostream> #include <string> using namespace std; void Prebroji(string s, int *velikaslova, int *malaslova); void main() { string imeiprezime; int velikaslova, malaslova; cout << "Unesite ime i prezime:" << endl; getline(cin, imeiprezime); Prebroji(imeiprezime, &velikaslova, &malaslova); cout << "Velikih slova u imenu i prezimenu ima " << velikaslova << " a malih " << malaslova << endl; } void Prebroji(string s, int *velikaslova, int *malaslova) { for(int i = 0;i<s.size();i++) { if(islower(s[i])) *malaslova++; if(isupper(s[i])) *velikaslova++; } } Output koji dobijam je: Citat: Velikih slova u imenu i prezimenu ima -858993458 a malih 858993450 Pozdrav! Izvinjavam se, problem je u tome sto nisam inicijalizovao brojace. Trebao sam da malaslova i velikaslova postavim na 0. Molim moderatora da obrise post. |