Kezdőoldal » Számítástechnika » Programozás » Ki tudná valaki javítani ezt...

Ki tudná valaki javítani ezt a programot, hogy működjön?

Figyelt kérdés

Codeblocksban, C++-ban írtam kezdő fejjel és azt szeretném, hogy a bekért neveket (amiknek nem tudjuk előre a darabszámát) ABC sorrendben kiírja.

Ha a rendezés nélül futtatom (úgy h megjegyzésként jelölöm) akkor működik.


#include <iostream>

#include <vector>

#include <cstdlib>


using namespace std;



int main()

{

vector<string> v;

string nev;


do{

system("CLS");

cout<<"utolso nev utan 0-t!"<<endl;

cout<<"Kerek egy nevet: ";

getline(cin,nev);

nev[0]=toupper(nev[0]);



for(int i=0;i<nev.size();i++)

{

if(isspace(nev[i]))

{

nev[i+1]=toupper(nev[i+1]);

}

}

v.push_back(nev);



}while(nev!="0");

v.pop_back();


for(int i=0;i<v.size();i++)

{

string x, y,s;

char x1ch, y1ch;

int xi, yi,f=0;


x=v[i];

y=v[i+1];


x1ch=x[f];

y1ch=y[f];


xi=x1ch;

yi=y1ch;



for(int j=v.size();j>i;j--)

{

if(xi==yi)

{

f++;

} else

if(xi>yi)

{

s=v[j-1];

v[j-1]=v[j];

v[j]=s;

}

}

}

system("CLS");


cout<<"A nevek: ";

for(int i=0;i<v.size();i++)

{

cout<<v[i]<<", ";

}

cin.get();


return 0;

}



2016. jan. 22. 20:06
 1/5 A kérdező kommentje:

#include <iostream>

#include <vector>

#include <cstdlib>


using namespace std;



int main()

{

vector<string> v;

string nev;


do{

system("CLS");

cout<<"utolso nev utan 0-t!"<<endl;

cout<<"Kerek egy nevet: ";

getline(cin,nev);

nev[0]=toupper(nev[0]);



for(int i=0;i<nev.size();i++)

{

if(isspace(nev[i]))

{

nev[i+1]=toupper(nev[i+1]);

}

}

v.push_back(nev);



}while(nev!="0");

v.pop_back();


for(int i=0;i<v.size();i++)

{

string x, y,s;

char x1ch, y1ch;

int xi, yi,f=0;


x=v[i];

y=v[i+1];


x1ch=x[f];

y1ch=y[f];


xi=x1ch;

yi=y1ch;



for(int j=v.size();j>i;j--)

{

if(xi==yi)

{

f++;

} else

if(xi>yi)

{

s=v[j-1];

v[j-1]=v[j];

v[j]=s;

}

}

}

system("CLS");


cout<<"A nevek: ";

for(int i=0;i<v.size();i++)

{

cout<<v[i]<<", ";

}

cin.get();


return 0;

}

2016. jan. 22. 20:07
 2/5 anonim ***** válasza:

int main()

{

std::vector<std::string> names;

for (std::string s; std::cout << "Adj meg egy nevet vagy 0-t a befejezeshez: ", std::getline(std::cin, s), system("cls"), s != "0";)

{

names.emplace_back(std::move(s));

}

std::sort(names.begin(), names.end());

std::copy(names.cbegin(), names.cend(), std::ostream_iterator<std::string>{std::cout, "\n"});


std::cin.get();

}

2016. jan. 22. 23:10
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
hová tűnt az előző kérdés??
2016. jan. 22. 23:40
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
Valószínűleg törölték a moderátorok.
2016. jan. 23. 00:04
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:
há oszt mé
2016. jan. 23. 11:36
Hasznos számodra ez a válasz?

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!