Kezdőoldal » Számítástechnika » Programozás » Az alábbi egyszerű c++-os...

Az alábbi egyszerű c++-os programba mi a hiba?

Figyelt kérdés

Íme a kód:

int main()

{

cout<<"Bekérek 10 számot és rendezem őket"<<endl;

int c[10];

for(int a=0;a<10;a++)

{

cout<<"Kérem az "<<a+1<<"számot"<<endl;

c[a]=beolvas_integer(a);


}

cout<<"Köszönöm a megadást!"<<endl;

int i;

int j;

int temp;

for(i=1;i<10;i++)

{

for(j=10;j<i;--i)

{

if (c[j]<c[j-1])

{

temp=c[j];

c[j]=c[j-1];

c[j-1]=temp;

}

}

}

int d;

for(d=0;d<10;d++)

{

cout<<" A rendezett tömb "<<d<<". eleme: "<<c[d]<<endl;

}

return 0;

}



A gcc szerint nincs benne hiba. Beviszek minden adatot és nem teszi sorrendbe nekem hiába szeretném.

Buborékos rendezést implementálok át pascal-ról c++-ra. Így próbálok alkalmazkodni az "új" nyelvhez. Korábban már próbálkoztam vele de túl korán abbahagytam. Tudom, hogy vannak beépített függvények, vagy legalább is halottam róla, de egyelőre szépen sorjában szeretnék haladni vele. A beolvas_integer saját függvényemmel semmi baj nincs az csak hibát kezel, ha véletlenül string tipust adnék meg.



#C++ #rendezés #implementálási hiba
2013. máj. 7. 12:39
 1/6 anonim ***** válasza:
for(j=10;j<i;--i)
2013. máj. 7. 12:42
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
Az előzőt nem tudom, hogy sikerült elküldeni, szóval felcserélted a külső és belső ciklust.
2013. máj. 7. 12:50
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:
Jah már értem, köszönöm a gyors választ.
2013. máj. 7. 12:52
 4/6 A kérdező kommentje:

Bocs tévesen írtam be, megláttam egy hibát, amit írtál, hogy az i értékét csökkentettem, amikor azt nem kellett volna. De nem értem miért nem csinál semmit.

Fogja magát bekéri az adatokat.

Megadom őket, majd egyszerűen kiírja őket mintha nem is tettem volna sorrendbe őket.

2013. máj. 7. 12:59
 5/6 anonim ***** válasza:

Külső ciklus: i 1től megy 10-ig.

Belső ciklus: j 10-től megy, amíg j kisebb, mint i.

J sosem lesz kisebb, mint i, be sem lépsz a ciklusba, így valóban nem csinálsz semmit.

2013. máj. 7. 13:08
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:

Most már működik.

Azt csináltam, hogy a j-> menjen 0-ig, és így jó.

Viszont a fejemben a pascal-os múltam miatt ez lenne, hogy második ciklus

for j:=10 downto i legyen. Ezt nem tudom, hogy kell c-s alapra átalakítani. Emiatt nem működött a függvényem.

Annak idején a tanárom levezette igaz ő visual basic-ben( tehát kvázi ugyanezzel szintaxal), de c-ben nem. Mi lenne a legszebb megoldás?

2013. máj. 7. 13:27

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!