Kezdőoldal » Számítástechnika » Programozás » Miért csak egyszer fut le a...

Miért csak egyszer fut le a ciklus? C++.

Figyelt kérdés

Itt a kód.

A kimenetben csak a 10 látni.

Úgyhogy egyszer fut le de miért?


Itt a kód:

//main.cpp

#include<iostream>

#include<string>

#include<vector>

#include<sstream>


using std::cout;

using std::string;

using std::vector;

using std::stringstream;


typedef unsigned short ushort;


int main()

{

vector <string> vSzavak;

stringstream s;

for(ushort i = 0; i < 10; ++i)

{

string temp;

s << (i+1)*10;

s >> temp;

vSzavak.push_back(temp);

cout << vSzavak[i] << ' ';

}


return 0;

}


Azt a feladatot találtam ki hogy 10 darab intet átkonvertálok stringé és bele teszem a vectorba majd ki íratom.


Lehet valahogy egyszerűbben megoldani amúgy.


2013. jan. 1. 23:41
1 2
 11/14 A kérdező kommentje:

Előző.

Már hogy a f*szba kerülhet sor a vektorba elmondanád?

Nézd meg jobban:

for(ushort i = 0; i < 10; ++i)

{

string temp; //A temp be csakis numerikus érték kerülhet és ezt rakom bele a vektorba.

s << (i+1)*10;

s >> temp;

szavak.push_back(temp);

cout << szavak[i] << ' ';

}

2013. jan. 2. 01:46
 12/14 A kérdező kommentje:
Mi folyik itt?
2013. jan. 2. 01:46
 13/14 A kérdező kommentje:

Miért csak akkor működik jól ha a stringstreamot újra létrehozom?


Így jó:

for(ushort i = 0; i < 10; ++i)

{

stringstream s;

string temp;

s << (i+1)*10;

s >> temp;

szavak.push_back(temp);

cout << szavak[i] << ' ';

}


Így pedig rossz:

stringstream s;

for(ushort i = 0; i < 10; ++i)

{


string temp;

s << (i+1)*10;

s >> temp;

szavak.push_back(temp);

cout << szavak[i] << ' ';

}


Miért van az hogy a szavak[i] után a ' ' között megadott karakterke kerülnek bele a vector első utáni elemeibe?

2013. jan. 2. 01:52
 14/14 A kérdező kommentje:

"Hogy a f*szba futna már le az a sima számlálós ciklus egyszer? :D

Akármit csinálsz a ciklusmagban, az még 10szer fut le, csak sima szóközöket raksz bele a vektorba, és nem semmit nem ír ki, hanem egy nyamvadt szóközt ír ki."


Aki ezt írta ez hagyja figyelmen kívül a 01:46 kommentemet.


De aztis leírhattad volna hogy miért.

2013. jan. 2. 01:54
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!