Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Nyiscsák
#2557
üzenetére
Nincs mit!
Mindig kerüld el ezeket a system(...) jellegű függvényhívásokat, mindig megoldható másképp, könyvtári függvényekkel is.
Ez egy feleslegesen erőforrásigényes rendszerhívás, ráadásul NEM platformfüggetlen.Jester01-nek igaza van, lehet tovább egyszerűsíteni és gyorsítani, így még jobb:
int tobbszor( int* pTomb, int size )
{
int i, j;
for ( i = 0; i < size; i++ ){
for ( j = i+1; j < size; j++){
if (pTomb[j]==pTomb[i])
return 1;
}
}
return 0;
}Tehát a belső for ciklusban i+1-től vizsgálódom, felesleges újra és újra végigmenni az egész tömbön, ráadásul így eleve az aktuális tömb utántól indul a vizsgálat.
======
(#2556) Jester01: you're right.
Először arra gondoltam, az úgy nem jó, mert nem rendezett a tömb, aztán rájöttem, hogy ez baromság, mert egyszer már az elejétől végigszaladgáltunk, minek újból, kicsit fáradt vagyok... 
-
Sk8erPeter
nagyúr
válasz
Nyiscsák
#2546
üzenetére
Ezt a
system("PAUSE");
baromságot nagyon gyorsan felejtsd el (egyszer össze kéne számolni, hányszor hangzott el ez a topikban).
Gondolom valami gyökér tanár mutatta ezt a szarságot, vagy valami gány fórumon szedted össze.
Ott van helyette pl. a getchar();Ezenfelül jobb lenne, ha azonnal visszatérnél, amint egyezést találtál egy korábbi számmal (minek végigmenni rajta teljesen?).
if (pTomb[j]==pTomb[i])
ez a feltételvizsgálat nálad legalább egyszer mindenképp igaz lesz, amikor önmagával hasonlítod az elemet, felesleges ezt vizsgálni.
Szóval így is lehet:
int tobbszor( int* pTomb, int size )
{
int i, j;
for ( i = 0; i < size; i++ ){
for ( j = 0; j < size; j++){
if (i!=j && pTomb[j]==pTomb[i])
return 1;
}
}
return 0;
}
Ú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!
- Arc Raiders
- Shield TV-t csinált a Shieldből az NVIDIA
- Kertészet, mezőgazdaság topik
- Apple MacBook
- Xbox Series X|S
- Android alkalmazások - szoftver kibeszélő topik
- Az eddigi legolcsóbb, 3D V-Cache-t használó CPU-ját hozta forgalomba az AMD
- E-book olvasók
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- Méretét meghazudtolóan hatékony Akasa léghűtő jön inteles vasakhoz
- További aktív témák...
- Samsung Galaxy S22 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
- Macbook Pro 13" 2019 - 4 mag i5, 8GB RAM, touchbar - garancia (13)
- DJI Flip Fly More Combo (RC 2)
- Lenovo X280 12" - i7 8550U, 16GB RAM, 256-512GB SSD, jó akku - számla, 6 hó gar
- Lenovo X1 Carbon 13,3" - i5 7300U, 8GB RAM, SSD, jó akku - számla, 6 hó gar
- Dell Latitude 9420 i5-1145G7 14" FHD+ 16GB 256GB 1 év garancia
- HP EliteBook 840 G7 i5-10210U 16GB 256GB FHD 400nit 1 év garancia
- Új HP 15 Victus FHD IPS 144Hz i7-13620H 4.9Ghz 10mag 16GB 1TB SSD Nvidia RTX 5060 8GB Win11 Garancia
- Nvidia Quadro és AMD FirePro kártyák - számla, 6 hó gar.
- Motorola Edge 40 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Először arra gondoltam, az úgy nem jó, mert nem rendezett a tömb, aztán rájöttem, hogy ez baromság, mert egyszer már az elejétől végigszaladgáltunk, minek újból, kicsit fáradt vagyok... 
