Kezdőoldal » Számítástechnika » Programozás » Segítene valaki hol rontom el...

Segítene valaki hol rontom el a rendezési algoritmust?

Figyelt kérdés

[link]


Ahogy szeretném az az, hogy megyek i-től a tömb végéig és megkeresem az adott intervallumon a legkisebbet (ez lenne a belső for ciklus), ha ez meg van elmentem ezt az értéket és a helyét majd ettől a poziciótól elkezdek visszafele menni az aktuális i indexig (úgy hogy még ne érjem el) és el kezdem "fentebb tolni" az értékeket mivel az aktuális minimum le van mentve egy külön változóba így nem számít, hogy felül van írva. Majd elérem ezt amit előbb írtam i indexet akkor ami kezdetben ott 0 indexen volt ugye a fentébb tolás miatt már az 1-es indexen van így a 0.indexre berakom az előbb megtalált minimumot. A következő ciklusban viszont mivel a 0. indexen már az egész tömb legkisebb eleme van így az 1-es indextől indulok i=1 től vizsgálom n-ig a legkisebbet.


Ezt próbáltam volna megvalósítani a fentebbi kódban, azonban mint "látható" nem sikerült és valahol félresiklik az egész. Az lenne a kérdésem, hogy hol rontom el avgy hogyan kéne megcsinálni? (ez a beszúrásos keresés, csak nem indexet mentek le, hanem konkrét értéket..legalábbis szerintem ennyi különbség lenne Elméletben)


2021. febr. 11. 19:09
1 2
 11/14 A kérdező kommentje:
azt hiszem meg van..j ciklust 0-ról indítottam, j=i helyett..így már jó eredményt hoz
2021. febr. 11. 21:38
 12/14 A kérdező kommentje:

További probléma, hogy ha bővítem pl a tömbot, akkor már nem teljesen jól rendez

int Array[]={99,154,72,0,-5,17,72,56,25,20,36}

2021. febr. 11. 21:45
 13/14 anonim ***** válasza:
39%

sizeof(Array) <- ez nem jó C++ba for ciklusba beírni. Ezzel nem tudod meg, h hány elem van a tömbbe. Ez a tömb méretet adja csak meg, ami a memóriába van. Le kell osztatni egy elemmel még, hogy megkapd azt h meddig menjen a for. :).


sizeof(Array)/sizeof(Array[0])

Így már a tömb elemszám kapod meg. :)


for(int i=0;i<

sizeof(Array)/sizeof(Array[0]);i++)

2021. febr. 11. 22:10
Hasznos számodra ez a válasz?
 14/14 A kérdező kommentje:
Igen ez a 8-cas válaszoló már jelezte, ezt javítottam is, az elöző kommentemre "válaszolva", meg csak azért nem volt jó a sorrend, mert tesztelésképp számot írtam a sizeof-os megoldás helyett , viszont a 6-ot elfelejtettem átírni 11, mikor bővítettem a tömböt
2021. febr. 11. 22:16
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!