- Azonnali mobilos kérdések órája
- Apple iPhone 17 - alap
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Samsung Galaxy S25 - végre van kicsi!
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Google Pixel 10 és 10 Pro összehasonlító gyorsteszt
Új hozzászólás Aktív témák
-
dobragab
addikt
válasz
MasterMark #3515 üzenetére
Szerintem EOF miatt, stringstream és fájl esetén máshogy lehet az EOF kezelés. EZT nézegesd.
Amúgy ez is szóba jöhet, ha mondjuk több beolvasás eredményét kell egyszerre ellenőrizned:
while(is.good()) {
// ...
}De ez csak tipp, pontosan nem néztem utána.
-
dobragab
addikt
válasz
MasterMark #3513 üzenetére
Jáj. Erre való az, hogy az istream tud bool-ra konvertálódni. Illetve C++98-ban nem is bool-ra, de úgy lehet használni, mintha. Ez más téma, és gány.
while (ss >> in){
// ...
} -
dobragab
addikt
válasz
MasterMark #3511 üzenetére
Elvileg ugyanúgy, elvégre mindkettő std::istream vagy std::ostream leszármazott.
-
jattila48
aktív tag
válasz
MasterMark #2955 üzenetére
Nincs ezzel baj. Itt nem lehet a break feltételt betenni a ciklusfeltételbe, mert break esetén kiírsz.
-
LordX
veterán
válasz
MasterMark #2955 üzenetére
if (egy[0].eleje > ketto[0].vege && !nemok) {
auto it = std::find_if( std::rbegin(ketto) //REVERSE begin (gondolom a db2 a 'ketto' konténer mérete)
, std::rend(ketto) //reverse end
, [&](auto&& elem) { return elem.vege < egy[0].eleje; } //keresett feltétel
);
if (it != std::rend(ketto)
kiiras(it->eleje, it->vege);
kiiras(egy[0].eleje, egy[0].vege);
} else { ... } -
jattila48
aktív tag
válasz
MasterMark #2934 üzenetére
Jó a break for ciklusban. A lineáris keresést csak példaként írtam. Ezek szerint neked az kell. Esetleg, ahogy írtam, a break feltételét (negálva) beépítheted a ciklusfeltételbe, és akkor nincs break.
-
jattila48
aktív tag
válasz
MasterMark #2911 üzenetére
Nem gáz a break. Egyszerű dolgot nem kell túlbonyolítani. Adott elemszámú tömbben lineáris keresésre tökéletes. Ha pl. az a feladat, hogy egy karaktertömbben sorban keresd ki az A betűket, akkor ez a legjobb megoldás. Ha függvényt használnál, akkor minden következő kereséshez nemcsak a tömböt, hanem a most megtalált indexet is át kell adni. Ez fölösleges bonyolítása a feladatnak. Ha nagyon nem akarsz break-et, akkor elképzelhető, hogy a kiugrási feltétel betehető a ciklusfeltételbe.
int i;
char tomb[100];
int hossz=sizeof(tomb);
for(i=0;i<hossz && tomb[i]!=feltetel;++i);
if(i<hossz){
//megtalaltad a kersett elemet, indexe i.
}for(i=0;i<hossz;++i){
if(tomb[i]==feltetel)break;
}helyett.
C++ programozóknál gyakori hiba, hogy hajlamosak "túldizájnolni" a programot. Egy ilyen egyszerű feladathoz pl. nem biztos, hogy az STL-t kell használni. Nagy, és lassabb lesz tőle a kód.
-
ToMmY_hun
senior tag
válasz
MasterMark #2917 üzenetére
Nem általános igazság, de egészen jól működik a következő. Amennyiben indexelned kell, akkor használj for ciklust, mert megoldja egy sorban az inkrementálást is. Akkor, ha egy feltétel teljesülésére vársz, akkor használj while-t. Egyébként ebből ne csinálj olyan nagy ügyet, használd azt amelyik az adott feladat ellátásra jobban átlátható, ésszerűbb.
-
válasz
MasterMark #2911 üzenetére
Nincs ilyen szabaly, hasznald azt a megoldast, ami az adott helyzetben leginkabb atlathato es legkonnyebben ertelmezheto.
-
válasz
MasterMark #2911 üzenetére
tömbben keresésnél kifejezetten ildomos (felesleges tovább iterálni).
-
MasterMark
titán
válasz
MasterMark #2903 üzenetére
Storno, megvan, csak késő van, szóval helyesen:
eredmeny[i] = tomb[i+1] - tomb[i];
Ú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!
- Revolut
- Kormányok / autós szimulátorok topikja
- sziku69: Fűzzük össze a szavakat :)
- NOTEBOOK / NETBOOK / Mac beárazás
- EA Sports WRC '23
- Miskolc és környéke adok-veszek-beszélgetek
- Gyúrósok ide!
- Mégis marad a Windows 10 ingyenes frissítése
- Assetto Corsa EVO
- TABLET / TARTOZÉK beárazás
- További aktív témák...
- Otthoni PC Komplett Szett Akár játékra is! Monitorral, Billentyűzettel, Egérrel
- Apple iPhone X 64 GB fekete - kártya független, tökéletes állapot - eredeti Apple szilikon tok
- Gamer PC Ryzen 7 5800X, RX 6700XT 12GB
- ÚJ ! TAMRON 18-300 F/3.5-6.3 Di III-A VC VDX SONY-E APSC
- Evga Geforce 3080 10g XC3 - 6 hónap garanciával
- GYÖNYÖRŰ iPhone 12 64GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3052, 96% Akkumulátor
- GYÖNYÖRŰ iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3425, 94% Akkumulátor
- Lenovo X13 Yoga 2in1 Thinkpad WUXGA Touch i5-1145G7 vPro 16GB 256GB 4G LTE GPS Win11 Pro Garancia
- GYÖNYÖRŰ iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3133, 95% Akkumulátor
- GYÖNYÖRŰ iPhone SE 2022 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3366
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest