[ anon75319 @ 29.12.2005. 21:50 ] @
1. Kako mogu u C++ decimalni broj zaokružiti na 2 decimale?
2. Objašnjenje za ovaj redak
Code:
int main(void)
cemu sluzi void?
3. S kojom naredbom se u C++ iz nekog niza mogu "izvlačiti" pojedina slova, kao što u QBASIC ima naredba MID$, LEFT$, RIGHT$
4. Koja je naredba u C++ za brojanje koliko znakova ima u nizu, kao što je u QBASIC naredba LEN
5. Cemu sluzi naredba scanf

Biti ce još pitanja jer samo relativno početnik u C++ pa mi mnoge stvari nisu još jasne...



[ IDE @ 29.12.2005. 22:54 ] @

- %.2f za ispisivanje float-a sa dvije decimale...
- "funkcija main vraca integer, a ne salje joj se nista..." mada zapis int main(void) mi nije poznato da neko koristi,tj. bar ga ja ne koristim...
-ako imas niz slova (string) "a", onda sa a[n] tj. *(a+n) , (n=0,1,2...duzina_stringa-1) dobijas neko slovo toga stringa...
- za brojanje slova u stringu a: strlen(a)
- najlakse receno "snima" sta je unijeto i tu vrijednost dodjeljuje nekoj promjenjivoj koju si deklarisao...

evo ti link, skini skriptu i saznaj sta te interesuje...

http://www.bm.users.cg.yu/PJC.zip

[Ovu poruku je menjao fucking voodoo dana 29.12.2005. u 23:56 GMT+1]
[ anon75319 @ 30.12.2005. 10:16 ] @
mozes mi ako ti se da napisati primjere za 1. 2. i 4. ????

bio bi ti veoma zahvalan
[ idb @ 30.12.2005. 10:58 ] @
Nemoj da ti ES bude jedina literatura iz programiranja, citaj malo i druge stvari...
Evo ti recimo odve malo korisnih stvari:
http://www.cplusplus.com/ref/cstdio/printf.html
Procitaj slobodno, nece da boli!
.
[ IDE @ 30.12.2005. 11:21 ] @
ma mnei nije rpoblem napisati, ali zasto da pisem kad sam ti dao link ka knjizi na srpsko-hrvatskom gdje ti je to sve objasnjeno...
procitaj, pa sta ti ne bude jasno - pitaj...
c/c++ je ogroman da bih ga ovdje pisao...
[ Mali Misha @ 30.12.2005. 14:46 ] @
Citat:
wiktor: 1. Kako mogu u C++ decimalni broj zaokružiti na 2 decimale?

Na izvorno znacenje pitanja...

Code:
float a = 100.12312f;    
a = (int)(a*100)/100.f;

double b = 100.12312;
b = (int)(b*100)/100.0;
[ anon75319 @ 30.12.2005. 14:53 ] @
ja sam to ovak rješio
malo ima nutra dodataka da ljepse izgleda

Code:
#include <iostream>
using namespace std;

int main()
{
    int brojDecimala;
    float decimalniBroj;
    cout<<"Decimalni broj za pretvoriti"<< endl;
    cin>>decimalniBroj;
    printf("Decimalni broj zaokruzen na 2 decimale je %.2f\n", decimalniBroj);
    system("pause");
    return 0;
}
[ IDE @ 31.12.2005. 16:39 ] @
cekaj, ne shvatam sta ce vam sva ova prica o zaokruzivanju na dvije decimale kad sam ti dao na pocetku kako se to radi...

float a;
...
...
printf("%.2f",a);

i to je to...
koliko god da ima decimala broj a, ispisace se sa dvije (iza zareza...)
[ anon75319 @ 01.01.2006. 02:59 ] @
znam skuzio sam iz onog teksta sto si mi poslao neki dan

[ Mali Misha @ 02.01.2006. 18:38 ] @
Sad, pitanje nije glasilo "Kako mogu pri stampanju u C++ decimalni broj zaokružiti na 2 decimale?" vec samo kao da se broj zaokruzi.


Nadam se da je jasno da npr.

Code:
printf("%.2f",a);

Ne zaokruzuje broj vec ga samo kao takvog stampa.


Kako se wiktor nije bio oglasio da je zadovoljan, ja mislih da bi trebalo da dam ispravan odgovor na pitanje, bez obzira da li je pitanje nepotpuno (sto se malo kasnije i pokazalo) ili ne.

Uzgred, kad god se mesaju iostream i stdio, pozeljno je sinhronizovati ih pre upotrebe...

Code:
ios::sync_with_stdio();
[ tupito @ 02.01.2006. 18:40 ] @
Ovo ti je greska:
Code:


#include <iostream>
using namespace std;
int main()
{
    int brojDecimala;
    float decimalniBroj;
    cout<<"Decimalni broj za pretvoriti"<< endl;
    cin>>decimalniBroj;
    printf("Decimalni broj zaokruzen na 2 decimale je %.2f\n", decimalniBroj);
    system("pause");
    return 0;



ako si bas resio da kombinuje <stdio.h> i <iostream> na istom fajlu (ovde stdout fajl) moras da ubacis i sinhronizaciju
jer te dve stvari nisu (ali mogu) pravljene da rade zajedno. Te dve stvari se konbinuju zajedno samo i samo ako se mora
tj imas ogromnu kolicinu starog koda napisanog u C a dodas nesto u novo u C++, ali kad ne moras radi sa <iostream> .

ukljucena sinhronizacija:
Code:

ios::sync_with_stdio(true);//enable mixed I/O


pa bilo ovako:
Code:


#include <iostream>
using namespace std;
int main()
{
    ios::sync_with_stdio(true);//enable mixed I/O
    int brojDecimala;
    float decimalniBroj;
    cout<<"Decimalni broj za pretvoriti"<< endl;
    cin>>decimalniBroj;
    printf("Decimalni broj zaokruzen na 2 decimale je %.2f\n", decimalniBroj);
    system("pause");
    return 0;



nije preporucljivo ali je moguce koriscenje zajedno <stdio.h> i <iostream>, a jos manje je preporucljivo ali je opet moguce rad sa istim fajlom od jednom i sa <stdio.h> i sa <iostream> ali javlja se problem perfomansi i sinhronizacije. printf i scanf iz <stdio.h> da sa stdin i stdout fajlovima, dok cin i cout takodje rade sa stdin i stdout prema tome ili koristi jedno ili drugo ali izbegavaj da ih koristis ajedno, ako vec radis sa C++ radi sa cin i cout a funkcije scanf i printf zaboravi da postoje.

samo sa <iostream>:
Code:


#include <iostream>
using namespace std;

int main()
{
    double l = 100./3.;
    cout.precision(2);
    cout << "X = "<<l<<endl;
    cout << "X = "<<fixed<<l<<endl;
    cout << "X = "<<scientific<<l<<endl;
    return 0;
}


[ anon75319 @ 02.01.2006. 20:15 ] @
Citat:
tupito: Ovo ti je greska:
Code:


#include <iostream>
using namespace std;
int main()
{
    int brojDecimala;
    float decimalniBroj;
    cout<<"Decimalni broj za pretvoriti"<< endl;
    cin>>decimalniBroj;
    printf("Decimalni broj zaokruzen na 2 decimale je %.2f\n", decimalniBroj);
    system("pause");
    return 0;



ako si bas resio da kombinuje <stdio.h> i <iostream> na istom fajlu (ovde stdout fajl) moras da ubacis i sinhronizaciju
jer te dve stvari nisu (ali mogu) pravljene da rade zajedno. Te dve stvari se konbinuju zajedno samo i samo ako se mora
tj imas ogromnu kolicinu starog koda napisanog u C a dodas nesto u novo u C++, ali kad ne moras radi sa <iostream> .

ukljucena sinhronizacija:
Code:

ios::sync_with_stdio(true);//enable mixed I/O


pa bilo ovako:
Code:


#include <iostream>
using namespace std;
int main()
{
    ios::sync_with_stdio(true);//enable mixed I/O
    int brojDecimala;
    float decimalniBroj;
    cout<<"Decimalni broj za pretvoriti"<< endl;
    cin>>decimalniBroj;
    printf("Decimalni broj zaokruzen na 2 decimale je %.2f\n", decimalniBroj);
    system("pause");
    return 0;



nije preporucljivo ali je moguce koriscenje zajedno <stdio.h> i <iostream>, a jos manje je preporucljivo ali je opet moguce rad sa istim fajlom od jednom i sa <stdio.h> i sa <iostream> ali javlja se problem perfomansi i sinhronizacije. printf i scanf iz <stdio.h> da sa stdin i stdout fajlovima, dok cin i cout takodje rade sa stdin i stdout prema tome ili koristi jedno ili drugo ali izbegavaj da ih koristis ajedno, ako vec radis sa C++ radi sa cin i cout a funkcije scanf i printf zaboravi da postoje.

samo sa <iostream>:
Code:


#include <iostream>
using namespace std;

int main()
{
double l = 100./3.;
cout.precision(2);
cout << "X = "<<l<<endl;
cout << "X = "<<fixed<<l<<endl;
cout << "X = "<<scientific<<l<<endl;
return 0;
}


ja sam isprobao svoj program i radi normalno...
ne znam zasto si rekao da ne radi :S
[ windrider @ 03.01.2006. 13:05 ] @
Posto je ovo odeljak za pochetnichka pitanja, da postavim jedno.
Chitajuci Kernighan & Ritchie-jevu knjigu, naishao sam na vezbu u kojoj se kaze:
"Napishite program koji prikazuje histogram duzina rechi koje se pojavljuju u njegovom ulazu."
Pitanje: Shta je to histogram??
[ Mali Misha @ 03.01.2006. 13:47 ] @
Mislim da ti trazi pregled broja reci po njihovim duzinama. Npr:

Duzina 2: 15 reci
Duzina 3: 12 reci
Duzina 5: 3 reci...
[ windrider @ 04.01.2006. 11:09 ] @
Aha, shvatio sam. Hvala na pomoci!