- Apple iPhone Air - almacsutka
- Yettel topik
- Apple iPhone 17 Pro Max – fennsík
- Apple iPhone 16 Pro - rutinvizsga
- Magisk
- Samsung Galaxy A54 - türelemjáték
- Google Pixel topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Android alkalmazások - szoftver kibeszélő topik
- Telekom mobilszolgáltatások
Új hozzászólás Aktív témák
-
modder
aktív tag
Hali,
Csinálsz egy 10 elemű segédtömböt, amibe a 10, tag1 attribútum szerinti legkisebb értéket fogod tárolni. Ez a segédtömb tag1 szerinti NÖVEKVŐ sorrendben fogja tartalmazni az Adatszerk típusú adatokat.
Végigiterálsz az eredeti tömbön, és minden egyes elemére megnézed, hogy a tag1 attribútuma kisebb-e, mint a legnagyobb tag1 attribútum a segédtömbödben. Ha igen, akkor az addigi 10 legkisebb közé be fog kerülni, err szolgál a pushMin() metódus.struct Adatszerk {
int tag1;
int tag2;
}
// legyen egy listád az adatszerkezettel
Adatszerk adatok[] = { Adatszerk(1,1), Adatszerk(1,2), ... }
int adatokSize = 50 // vagy akármennyi
Adatszerk[] legkisebb10 = Adatszerk[10];
initLegkisebb10( legkisebb10 ); // mindegyiket feltöltöd legalább akkora értékkel, amekkora maximum értéke lehet tag1-nek
for( int i = 0; i < adatokSize; i++ ){
if( adatok[i].tag1 < legkisebb10[9].tag1 ) {
pushMin( legkisebb10, adatok[i] );
}
}
// ezzel a függvénnyel növekvő sorrendbe szúrjuk be 'legkisebb10'-be a legkisebb tag1 attribútum szerinti
// adatokat
void pushMin( Adatszerk[] legkisebb10, Adatszerk adat ) {
int i = 0;
for ( i = 0; i < 10 ; i++ ) {
if ( adat.tag1 < legkisebb10[i].tag1 ) {
break;
}
}
// a legkisebb10 tömbben az i. helyen volt az elem, ami már nagyobb volt 'adat'-nál
// ezért oda tesszük be az 'adat'-ot, és a maradékot hátra toljuk a tömbben
// fontos, hogy a for-ciklus a tömb hátulja felől menjen i-ig
for( int k = 9 ; k > i ; k-- ) {
legkisebb10[k] = legkisebb10[k-1];
}
// i-edig helyre beszúrjuk az új 'adat'-ot
legkisebb[i] = adat;
}Amit WonderCSabo is említett, ha nem olyan nagy a listád, szóval lemásolhatod, akkor lehet, hogy egyszerűbb először rendezve lemásolni, majd az első 10-et kiírni
-
WonderCSabo
félisten
A következőt teheted:
1. lépésben kiválasztod a 10. legkisebb elemet valamelyik kiválasztó algoritmussal.
2. lépésben még egyszer végigiterálsz a listádon, és ha az aktuális elem kisebb vagy egyenlő a 10. legkisebb elemmel, akkor kiírod.Arra figyelj, hogy van a linken felsoroltak között van olyan algoritmus, ami megváltoztatja a listádat. Ha olyat használsz, akkor először másold le az egész listát, hogy az eredeti ne változzon.
Egy másik módszer lehet, hogy ha rendező algoritmust használsz, vagy elemeket rendezetten tároló segéd adatszerkezetet, de asszem egyszerűbb lesz számodra az előző megoldás.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Apple iPhone Air - almacsutka
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Kuponkunyeráló
- Nintendo Switch
- bambano: Bambanő háza tája
- Call of Duty: Black Ops 6
- Jövőre jósolják a memóriahiányt, ami egy évtizedig is fennmaradhat?
- Kerékpársportok
- AMD Navi Radeon™ RX 9xxx sorozat
- Óra topik
- További aktív témák...
- ÚJ CORE I7 12700KF GAMER ERŐMŰ PC 32Gb DDR5 1.0TB SSD NVIDIA RTX 3080TI 12GB DDR6 750W-TÁP 2ÉV GAR
- iPhone 14 Pro Max 256GB - kártyafüggetlen - AppleCare+
- LG V50
- Eladó Lenovo ThinkPad X1 Carbon Gen 8 prémium üzleti ultrabook, WQHD kijelzővel!
- Eladó HP EliteBook 645 G11 új, dobozos, Ryzen 5, DDR5, LTE képes üzleti laptop!
- Telefon felváráslás!! Samsung Galaxy S22/Samsung Galaxy S22+/Samsung Galaxy S22 Ultra
- AKCIÓ! Apple Macbook Pro 16" 2019 i9 9980HK 64GB DDR4 512GB SSD Radeon Pro 5500M garanciával
- Dell Latitude 5495 Full HD IPS Ryzen 5 pro 2500u Radeon Vega Mobile Gfx i5-8350u verő
- BESZÁMÍTÁS! Gigabyte GA-H610M i3 12100F 16GB DDR4 512GB SSD RX 6600 8GB Rampage SHIVA CM 600W
- AKCIÓ! Apple MacBook Pro 16 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest