Hirdetés
- Samsung Galaxy S25 - végre van kicsi!
- Poco F6 5G - Turbó Rudi
- 8000 mAh-s aksi a Kínában most bemutatott Honor 500-akban
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Garmin Fenix 8 Pro - nézz az ég felé!
- Android szakmai topik
- Fotók, videók mobillal
- Samsung Galaxy Watch7 - kötelező kör
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- MIUI / HyperOS topik
Új hozzászólás Aktív témák
-
Jester01
veterán
Azért nem, mert "nem egyenlő" a feltételed tehát j-vel elmegy a tömb végéig az első olyan elemnél aminek nincs párja, és onnantól már nem is találja meg a többit. Csak addig szabad előremenni amíg a másik tömb elemei kisebbek az aktuális elemnél (ha növekvő sorrendben vannak). Ahol megálltál ott pedig meg kell nézni, egyezik-e az elem és ha igen akkor hozzáadni a metszethez.
-
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!
- Latitude 5450 14" FHD IPS Ultra 5 125U 16GB 256GB NVMe ujjolv IR kam gar
- X1 Yoga 9th 2-in-1 14" FHD+ IPS érintő Ultra 7 165U 16GB 512GB NVMe ujjlolv IR kam gar
- Thinkpad T14s Gen3 14" FHD+ IPS i5-1240P 16GB 256GB NVMe ujjlolv IR kam gar
- GARIS/GYÖNÖYRŰ/AKCIÓS - Lian Li Galahad AIO SL Edition 360
- GARIS/GYÖNÖYRŰ/AKCIÓS Lian Li HydroShift !!LCD!! 360R (RGB)
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Update 11.13. Dell Latitude Precision Üzleti gépek, 2-in-1 gépek, 8-12. gen.
- HP ZBook Firefly 14 i7-1165G7 16GB 1000GB Nvidia Quadro T500 4GB 14" FHD 1 év garancia
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -1 ÉV GARANCIA -Kártyafüggetlen, MS3933, 100% Akkumulátor
- 129 - Lenovo Legion Pro 7 (16ARX8H) - AMD Ryzen 9 7945HX, RTX 4080 (ELKELT)
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


