Hirdetés
- Garmin topik
- Milyen okostelefont vegyek?
- Google Pixel topik
- iPhone topik
- Azonnali mobilos kérdések órája
- Örömkönnyek és üres kezek a TriFold startjánál
- Samsung Galaxy S23 Ultra - non plus ultra
- Apple Watch Ultra - első nekifutás
- Hivatalos a OnePlus 13 startdátuma
- Nagyon jól néz ki a Nothing Phone (3a) limitált kiadása
Új hozzászólás Aktív témák
-
kovisoft
őstag
válasz
DEV_NULL
#5996
üzenetére
Remek! Még annyit lehet egyszerűsíteni, hogy a beolvasásnál egy füst alatt el lehet intézni a rendezést is és az egyező számok kiszűrését is:
Beolvasod a következő számot, megkeresed az első olyan szám indexét a (rendezett) tömbödben, aminél nem nagyobb. Ha megegyezik vele, akkor eldobod, mert van már ilyen szám. Ha pedig kisebb nála, akkor ettől az indextől kezdve eggyel hátrébb pakolod a számokat a tömbben, és beszúrod ide a beolvasott számot.
És ne feledkezz meg az adatok ellenőrzéséről sem, pl. mi van, ha 50-nél nagyobb számot adnak meg méretnek? Ekkor ki fogsz címezni a tömbödből.
-
kovisoft
őstag
válasz
DEV_NULL
#5994
üzenetére
Szerintem a gond még azzal a résszel van, ahol kiszűröd az azonos számokat és csak a különbözőket pakolod át a hazi.cim-ből a hazi.cim2-be (ahol az ominózus ++ is van). Nem elég átrakni a ++-t a végére, hanem kicsit át kell alakítani magát a ciklust is, hiszen így most a 0-dik cim2 elembe belerakod a 0-dik és az 1-ső cim elemet is (a legelső elvész). Mivel a hazi.csere=0 elemet már a ciklus előtt átraktad, ezért a ciklust hazi.csere=1 értékről kellene indítani.
Sokat segíthet, ha debug kiíratásokat helyezel el a kódban az egyes lépések után. Pl. kiírod a rendezett elemeket, az azonos elemek kiszűrése után maradtakat, ill. azokat a számnégyeseket, amikre egyeznek a megkívánt összegek. Ezekből látni fogod, hogy melyik lépésnél romlik el valami.
-
kovisoft
őstag
válasz
DEV_NULL
#5992
üzenetére
Csak tipp, de szerintem a lenti sorban kicímzel a hazi.cim2 tömbből, ugyanis amikor hazi.csere=hazi.meret2-1, akkor a ++ miatt hazi.cim2[hazi.meret2] lesz felülírva, de az már az allokált tömb után van:
hazi.cim2[++hazi.csere]=hazi.cim[h];Elképzelhető, hogy elég lenne a ++-t hátulra tenni (hazi.csere++), de mondom ezt úgy, hogy nem értelmeztem, mit csinál pontosan a programod.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Elemlámpa, zseblámpa
- A fociról könnyedén, egy baráti társaságban
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- 2025 - Már elérhető a Steam év végi összesítője mindenki számára
- Garmin topik
- Arc Raiders
- Kertészet, mezőgazdaság topik
- TCL LCD és LED TV-k
- Milyen okostelefont vegyek?
- További aktív témák...
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


