Hirdetés
- Drasztikus változást mutat a Sony mobilja az első képeken
- Hatalmas telepet és fizikai ventilátort kaptak az új Oppo-k
- Tizenegyes! A VAR helyett a CAD buktatta le a Google profi játékosát
- Gyorsabb processzort igen, memóriát alig kapott a Xiaomi új HD tévéokosítója
- Ennyit szűkít az X300 Ultra a telepen Európában
- Samsung Galaxy A54 - türelemjáték
- Így lehet kiszúrni, ha kamu AirPods fülest akarnak eladni neked
- Milyen okostelefont vegyek?
- Samsung Galaxy S26 - szeret, nem szeret
- Drasztikus változást mutat a Sony mobilja az első képeken
- Google Pixel 10a – évismétlés
- Fotók, videók mobillal
- EarFun Air Pro 4+ – érdemi plusz
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Poco F5 - pokolian jó ajánlat
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
cellpeti
#1952
üzenetére
Talán mert van vele némi probléma

Pl. az első ciklusod <=3 feltéle már a kötőjelet is nézi, tehát amiatt kapásból hibás lesz minden jó rendszám is. Ugyanezen feltétel esetleg túl is címez a stringen, ha az nincs is 4 karakter. A kötőjel ellenőrzésnél i-re hivatkozni nem túl jó ötlet, ha egyszer azt akarod ellenőrizni, hogy a 4. karakter kötőjel-e, akkor azt írd oda (most ugye a hibás ciklusfeltétel miatt az i itt 4 lesz, tehát az ötödik karaktert nézed). A "-" az string konstans nem pedig karakter, és a feltételben kicsit sok a felkiáltójel.A legrosszabb pedig az, hogy a végén fixen "return 1" van, akármi is az ok változó értéke.
Lehetséges javítás:
int rendszam(const char* s)
{
if (!s || strlen(s) != 7 || s[3] != '-') return 0;
for(i=0;i<3;i++)
{
if(!isupper(s[i]) || !isdigit(s[i+4])) return 0;
}
return 1;
}MOD: jó hát én voltam a leglassabb

-
Lortech
addikt
válasz
cellpeti
#1952
üzenetére
Mert hibás.
ok változó nem kell, ok = 0-nál return 0, felesleges továbbmenni, ha már ott látod, hogy hibás.
nincs is benne csak return 1, szóval sohasem tér vissza 0-val.
1. for ciklus
0,1,2,3 -as string indexekre fut le, az if-re 4-es indexszel kerül a vezérlés, tehát jó rendszámnál is azt fogja jelezni, hogy a megfelelő karakter nem jó, mert nem "-". if-nél feleslegesen növeled i-t is.#1955: de a legalaposabb is.
Azért bámulatos, hogy tizenx sorban hány baklövést lehet elkövetni c-ben.
Ú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!
- Automata kávégépek
- Autós topik
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Samsung Galaxy A54 - türelemjáték
- Milyen TV-t vegyek?
- Fujifilm X
- Természetfeletti erő? Acer Nitro V 16 AI notebook Gorgon Pointtal
- Futás, futópályák
- Vezeték nélküli fülhallgatók
- Kormányok / autós szimulátorok topikja
- További aktív témák...
- iPad 11th 2025 128 GB
- Eladó Intel Core i7-14700KF kifogástalan állapot, GARANCIA 2027.06.07
- Eladó G pro superlight 2 se Unusual way sports UHWM skate talpakkal.
- Fehér konfig - i7-4790k/ROG Strix GTX 1070/Wifi/Rengeteg új-dobozos alkatrész/AJÁNDÉK Resident Evil
- 3D 4K Oled Dolby Vision (LGOLED C6EP/LGOLED E6P/LG OLEDG6P)
- TÜZES EZÜST! -20%!!! MACBOOK NEO!!!! - MAGYAR BILLES! - SILVER AJÁNDÉKKAL!
- AKCIÓ! GIGABYTE RTX 5080 AERO OC 16GB videokártya garanciával hibátlan működéssel
- szinteÚJ Lenovo ThinkPad L14 Gen5 i7 155U 32GB 1TB FHD+
- Samsung Galaxy S24 Ultra 512GB,Újszerű,Dobozaval,12 hónap garanciával
- Akciós kisWorkstation! Dell Precision 3560 i7-1165G7 4.7GHz / 32GB / 512GB / Quadro T500 2GB FHD 15"
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


Azért bámulatos, hogy tizenx sorban hány baklövést lehet elkövetni c-ben.


