Ú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
Ú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!
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Kuponkunyeráló
- Xbox Series X|S
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Mesterséges intelligencia topik
- Fejhallgató erősítő és DAC topik
- TCL LCD és LED TV-k
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- Elon Musk billiomos lesz, ha kitör a gépek forradalma
- World of Tanks - MMO
- További aktív témák...
- Microsoft Surface Hub 2s - Interaktiv 4K monitor/ All in one PC - I5 8. generációs - Piaci ár alatt
- Benq - LU951- 5000 Ansi Lézer projektor - Piaci ár alatt
- -ÚJ,2 ÉV GAR- GAMER PC: i5-14400F (10mag/16szál) +RX 6600/6700XT +16-64GB DDR4! SZÁMLA! 70 féle ház!
- Capriolo Oxygen 29" MTB Új
- DJI Convertible Carrying Bag + Ajándék DJI rádió nyakpánt
- HIBÁTLAN iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3330, 100% Akksi
- BESZÁMÍTÁS! ASUS ROG Strix RTX 2080Ti 11GB videokártya garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3847, 100% Akkumulátor
- Xiaomi 14T Pro 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! ASUS H510M i5 10400F 16GB DDR4 512GB SSD RTX 2080 Super 8GB Zalman T4 PLUS FSP 700W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő

