Programiranje u C++-u - pitanja i odgovori izdvojena tema

poruka: 7.285
|
čitano: 1.731.642
|
moderatori: XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Pa napisao sam ti ATOI, AlphaToInteger.
http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/

Those types are not abstract, they are as real as int and float. – Doug McIlroy
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
emerik kaže...

Koristiš funkciju substring.

Npr. :  string sati = str.substr(0,2) i onda to sa funkcijom atoi pretvoriš u integer. in h = atoi(sati);

Da li bi mi funkcija trebalo ovako da izgleda?

 

 

#include <iostream>

#include <string>

#include <sstream>

using namespace std;

int vrijemeUsekundama(string hhmmss){

string sati= hhmmss.substr(0,2);

string minute= hhmmss.substr(2,4);

string sekunde= hhmmss.substr(4,6);

int sati, minute, sekunde;

istringstream ( sati ) >> sati;

istringstream ( minute ) >> minute;

istringstream ( sekunde ) >> sekunde;

int vrijemeusekundama=0;

int h=sati*3600;

int m=minute*60;

int s=sekunde;

return vrijemeusekundama=h+m+s;}

 

13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
emerik kaže...

Koristiš funkciju substring.

Npr. :  string sati = str.substr(0,2) i onda to sa funkcijom atoi pretvoriš u integer. in h = atoi(sati);

 

#include <iostream>

#include <string>

#include <sstream>

using namespace std;

int vrijemeUsekundama(string hhmmss){

string sati= hhmmss.substr(0,2);

string minute= hhmmss.substr(2,4);

string sekunde= hhmmss.substr(4,6);

int sati, minute, sekunde;

istringstream ( sati ) >> sati;

istringstream ( minute ) >> minute;

istringstream ( sekunde ) >> sekunde;

int vrijemeusekundama=0;

int h=sati*3600;

int m=minute*60;

int s=sekunde;

return vrijemeusekundama=h+m+s;}

 

Da li bi ovako trebalo da izgleda funkcija?

 

Poruka je uređivana zadnji put ned 15.1.2012 18:00 (adimesic).
16 godina
online
Re: Programiranje u C++-u - pitanja i odgovori

Ja ne kužim kaj se u tvojem zadatku traži.Da li samo treba pretvoriti zadano vrijeme u sekunde,ili treba upisati dva vremena i onda izračunati razliku između?

AC Milan - IL CLUB PIU' TITOLATO AL MONDO
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Pa to i mene ekstremno zbunjuje :S
Ali kad pogledam ovu napomenu, nekako mi logicno da se treba pretvoriti vrijeme u sekunde i onda izracunati razliku medju njima.  Jes da je malo konfuzno al izgleda da je tako :S 

17 godina
moderator
offline
Re: Programiranje u C++-u - pitanja i odgovori
adimesic kaže...
emerik kaže...

Koristiš funkciju substring.

Npr. :  string sati = str.substr(0,2) i onda to sa funkcijom atoi pretvoriš u integer. in h = atoi(sati);

 

#include <iostream>

#include <string>

#include <sstream>

using namespace std;

int vrijemeUsekundama(string hhmmss){

string sati= hhmmss.substr(0,2);

string minute= hhmmss.substr(2,4);

string sekunde= hhmmss.substr(4,6);

int sati, minute, sekunde;

istringstream ( sati ) >> sati;

istringstream ( minute ) >> minute;

istringstream ( sekunde ) >> sekunde;

int vrijemeusekundama=0;

int h=sati*3600;

int m=minute*60;

int s=sekunde;

return vrijemeusekundama=h+m+s;}

 

Da li bi ovako trebalo da izgleda funkcija?

Ti to napamet radiš? Kompajliraj svoj kod.

 

 

BTW što kažeš na ovo, umjesto tog što si ti nadrobio koje nema veze s mozgom:

 

#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

int vrijemeUsekundama(string hhmmss)
{
    return

       atoi(hhmmss.substr(0, 2).c_str())*60*60 +
      atoi(hhmmss.substr(2, 2).c_str())*60 +
       atoi(hhmmss.substr(4, 2).c_str());
}

Poruka je uređivana zadnji put ned 15.1.2012 18:41 (mbaksa).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Kao prvo, intendancija, ne bi se Bog snašao u tvom kodu, drugo, hajde kompajliraj svoj kod, naravno dodaj main funkciju.

Those types are not abstract, they are as real as int and float. – Doug McIlroy
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Da li je ovo dobro definirana varijabla? 

    char tmpChar[30];

Neke varijable "nerade" koje su definirane poslje ove.  Ako ih samo prebacim prije rade.

Koristim Dev C++ 4.9.9.2 i Windows 7 x64

13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
srky.du kaže...

Neke varijable "nerade" koje su definirane poslje ove.  Ako ih samo prebacim prije rade.

 Konkretno, može kod?

Those types are not abstract, they are as real as int and float. – Doug McIlroy
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
royalhero kaže...
srky.du kaže...

Neke varijable "nerade" koje su definirane poslje ove.  Ako ih samo prebacim prije rade.

 Konkretno, može kod?

Kod je malo poduži, ovo su varijable koje sam mijenjao.

 

...

 

  string strTmp,baseName="dubrovacka";

  vector<int> numbers;

  int maxPage,page, intTmp;

  int questionNumbers;

  char tmpChar[30]; 

 

...

 

Dok je kod izgleo ovako:

...

  char tmpChar[30]; 

  string strTmp,baseName="dubrovacka";

  vector<int> numbers;

  int maxPage,page, intTmp;

  int questionNumbers;

...

 

 

Prvo pozivanje funkcije u kojoj je argument baseName radi normalno, dok prilikom drugom pozivanja program automatski izgasi. Kad sam string strTmp,baseName="dubrovacka"; zamijenio s prethodnom linijom sve je bilo OK.

17 godina
moderator
offline
Re: Programiranje u C++-u - pitanja i odgovori
mbaksa kaže...
BTW što kažeš na ovo, umjesto tog što si ti nadrobio koje nema veze s mozgom:

 

#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

int vrijemeUsekundama(string hhmmss)
{
    return

       atoi(hhmmss.substr(0, 2).c_str())*60*60 +
      atoi(hhmmss.substr(2, 2).c_str())*60 +
       atoi(hhmmss.substr(4, 2).c_str());
}

Evo i još jedan način, "za razmisliti" - bez ikakvih atoi, c_str i sličnih gluposti:

 

int vrijemeUsekundama2(string hhmmss)
{
    return

       (hhmmss[5] - '0') + (hhmmss[4] - '0') * 10 +
       (hhmmss[3] - '0') * 60 + (hhmmss[2] - '0') * 10 * 60 +
       (hhmmss[1] - '0') * 60*60 + (hhmmss[0] - '0') * 10 * 60*60;
}

 

 

******************

EDIT - evo još jedan:

 

int vrijemeUsekundama3(string hhmmss)
{
    int faktor[6] = {10*60*60, 60*60, 10*60, 60, 10, 1};
    int sekunde = 0;

    for (int i = 0; i < 6; i++) sekunde += (hhmmss[i] - '0') * faktor[i];

    return sekunde;
}

Poruka je uređivana zadnji put ned 15.1.2012 19:15 (mbaksa).
15 godina
offline
Programiranje u C++-u - pitanja i odgovori

jel mi moze neko rec sta radi funkcija "getline" ?

Nikad te necemo zaboraviti. RIP EnlightenedPhoenix 24.6.2011.
Moj PC  
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
athlon64 kaže...

jel mi moze neko rec sta radi funkcija "getline" ?

http://www.cplusplus.com/reference/iostream/istream/getline/

 

Zasto prvo ne pogledas referencu?

C provides a programmer with more than enough rope to hang himself. C++ provides a firing squad, blindfold and last cigarette.
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
1domagoj1 kaže...
athlon64 kaže...

jel mi moze neko rec sta radi funkcija "getline" ?

http://www.cplusplus.com/reference/iostream/istream/getline/

 

Zasto prvo ne pogledas referencu?

ma bas ucim reference pa mi je to uletilo u jednom zadatku za vježbu, nasa sam tu stranicu al sam tia da mi neko domaći obijasni sta radi ta funkcija, ugl vraca liniju koju od nje zahtjevamo da vrati, samo neznam kako bi to iskoristia u zadatku koji radim

 

Neka korisnik unese podatke poput imena, prezimena, adrese, godina i sličnoga, i onda sve to ispišite. Za unos koristite cin ukoliko unosite jednu riječ. Ukoliko pak unosite više riječi, koristite funkciju getline(cin,vas_string_objekt).

 

sve mi je jasno samo neznam kako ovo s getline-om da napravim jer nisam nikad prije vidia tu funkciju.

Nikad te necemo zaboraviti. RIP EnlightenedPhoenix 24.6.2011.
Poruka je uređivana zadnji put ned 15.1.2012 21:54 (athlon64).
17 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Jesi ti kliknuo na taj link uopce? Pa sve je tamo objasnjeno. Btw, kad sam rekao referencu, mislio sam na reference manual.

C provides a programmer with more than enough rope to hang himself. C++ provides a firing squad, blindfold and last cigarette.
 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
athlon64 kaže...

jel mi moze neko rec sta radi funkcija "getline" ?

 Koliko znam to je metoda klase istream, na objekt cin?

Those types are not abstract, they are as real as int and float. – Doug McIlroy
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Onaj predhodni program sam rijesio, odlicno radi, hvala vam puno. Danas sam naletio na neki drugi zadatak, evo teksta pa ako moze pomoc oko ove sekvence u zadatku, hvala unaprijed :D!

 Sekvenca brojeva se sastoji od jedne jedinice, dvije dvice, tri trice, četiri četvorke, itd.

Napisati program koji sumira elemente sekvence u određenom intervalu(granice intervala su

uključive), te ispisuje ga na izlaz.

 Primjer rjesavanja:

Ulaz : 13

Izlaz: 5

Objasnjenje:

 U ovom primjeru sumirali su se sljedeći elementi: 1 + 2 + 2 = 5

 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
mbaksa kaže...
adimesic kaže...
emerik kaže...

Koristiš funkciju substring.

Npr. :  string sati = str.substr(0,2) i onda to sa funkcijom atoi pretvoriš u integer. in h = atoi(sati);

 

#include <iostream>

#include <string>

#include <sstream>

using namespace std;

int vrijemeUsekundama(string hhmmss){

string sati= hhmmss.substr(0,2);

string minute= hhmmss.substr(2,4);

string sekunde= hhmmss.substr(4,6);

int sati, minute, sekunde;

istringstream ( sati ) >> sati;

istringstream ( minute ) >> minute;

istringstream ( sekunde ) >> sekunde;

int vrijemeusekundama=0;

int h=sati*3600;

int m=minute*60;

int s=sekunde;

return vrijemeusekundama=h+m+s;}

 

Da li bi ovako trebalo da izgleda funkcija?

Ti to napamet radiš? Kompajliraj svoj kod.

 

 

BTW što kažeš na ovo, umjesto tog što si ti nadrobio koje nema veze s mozgom:

 

#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

int vrijemeUsekundama(string hhmmss)
{
    return

       atoi(hhmmss.substr(0, 2).c_str())*60*60 +
      atoi(hhmmss.substr(2, 2).c_str())*60 +
       atoi(hhmmss.substr(4, 2).c_str());
}

Rijesio sam kod, i sa svojom nadrobljenom funkcijom xD

14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Može mi netko objasniti ovu liniju koda?Hvala.

 

int pomak = ( tmp=='D' ? 1 : -1 );*tmp je varijabla tipa char

17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
upitnik ti je skracena verzija if-a. ako je tmp 'D' pomak postaje 1, ako nije postaje -1.
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
fps_gamer kaže...
upitnik ti je skracena verzija if-a. ako je tmp 'D' pomak postaje 1, ako nije postaje -1.

Inace se to zove: ternarni operator,

C provides a programmer with more than enough rope to hang himself. C++ provides a firing squad, blindfold and last cigarette.
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Mozete li mi preporuciti sto poslije ovoga: http://tutoriali.org/C_plus_plus_za_apsolutne_pocetnike.html  ??

 
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Nauči engleski.

Pročitaj tutoriale na engleskom...jedno pet puta.

 

I ne čitaj samo, programiraj ;)

 
1 0 hvala 0
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
adimesic kaže...
mbaksa

Rijesio sam kod, i sa svojom nadrobljenom funkcijom xD

Ne budi bezobrazan, nego uči, čovjek ti je lijepo pokazao način kako možeš iskoristiti dekadske vrijednosti ascii znakova za izračun te funkcije, to se radi na taj način, a izraz "nadrobiti" je za nepotrebno kompliciranje opravdan. Dakle, pristojno je reći hvala jer ti je pokazao ispravan način rada.

Što se tiče tog drugog zadatka upotrijebi matematiku, dakle, riješi na taj način da kroz petlju računaš kvadrate indeksa petlje.

5 * 5 = 5 + 5 +5 +5 +5

Poruka je uređivana zadnji put uto 17.1.2012 12:55 (Floki).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
krx00 kaže...

Mozete li mi preporuciti sto poslije ovoga: http://tutoriali.org/C_plus_plus_za_apsolutne_pocetnike.html  ??

 Da to nije kopija knjige?, mislim nelegalna?

Googlanje, samostalan rad i puno puno vježbe!!!

17 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

imate preporuku nekog compilera, u vs expressu mi izbacuje project il nešto out of date, u code blocks nothing to do, u dev cpp isto nešto.

dakle, ne mogu ni hello world sredit.

(mogo bi probat javu, svejedno obožavam minecraft :D)

Win7 je glupost ziva.....neke jako dobre igrice nemogu na njega zato sto je prenov...za nekih 2-3 god. ce bit dobro imat -Atom
Moj PC  
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
djdomi kaže...

imate preporuku nekog compilera, u vs expressu mi izbacuje project il nešto out of date, u code blocks nothing to do, u dev cpp isto nešto.

dakle, ne mogu ni hello world sredit.

(mogo bi probat javu, svejedno obožavam minecraft :D)

gcc? Ako su Windowsi u pitanju MinGW.

C provides a programmer with more than enough rope to hang himself. C++ provides a firing squad, blindfold and last cigarette.
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Mislim da je mislio na IDE?

17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
royalhero kaže...

Mislim da je mislio na IDE?

Otkud da znam, ne citam ja misli, napisal je kompajlera, kompajlere sam mu i naveo.

C provides a programmer with more than enough rope to hang himself. C++ provides a firing squad, blindfold and last cigarette.
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
1domagoj1 kaže...
djdomi kaže...

imate preporuku nekog compilera, u vs expressu mi izbacuje project il nešto out of date, u code blocks nothing to do, u dev cpp isto nešto.

dakle, ne mogu ni hello world sredit.

(mogo bi probat javu, svejedno obožavam minecraft :D)

gcc? Ako su Windowsi u pitanju MinGW.

da, u code blocksu namjestim novi projekt, stavim gnu gcc compiler i stavim kod, lupim gumb, izbaci invalid compiler, isto i sa visual c++ compilerom.

ako odem na empty file bez stvaranja projekta, ništa se ne događa.

 

 

eh da, IDE sam neki tražio, sry :D 

Win7 je glupost ziva.....neke jako dobre igrice nemogu na njega zato sto je prenov...za nekih 2-3 god. ce bit dobro imat -Atom
Poruka je uređivana zadnji put uto 17.1.2012 18:34 (djdomi).
E-mail:
Lozinka:
 
vrh stranice