Hirdetés
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- Parci: Milyen mosógépet vegyek?
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Miért úszta meg Albert Speer? (Reagálás a Telex cikkére)
- biistvan: Notebook billentyűzet mellett ragados a burkolat
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Elektromos rásegítésű kerékpárok
- sidi: 386-os Chicony gázplazma laptop memóriabővítése
Ú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!
- Xiaomi Watch 2 Pro - oké, Google, itt vagyunk mi is
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- Óvodások homokozója
- Yettel topik
- Víz- gáz- és fűtésszerelés
- A világűrbe repíti az AI-t az NVIDIA és a Starcloud
- Milyen billentyűzetet vegyek?
- Parci: Milyen mosógépet vegyek?
- A Galaxy S26-tal együtt késik a One UI 8.5
- Hidat épített az NVIDIA a hagyományos és a kvantumszámítógépek közé
- További aktív témák...
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

