- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
- Melyik tápegységet vegyem?
- Hobby elektronika
- Milyen egeret válasszak?
- Milyen belső merevlemezt vegyek?
- Borsos árú alumíniumfelni? Nem, egy asztali PC!
- OLED monitor topic
- OLED TV topic
- Házimozi belépő szinten
- Házimozi haladó szinten
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
zsambek #5503 üzenetére
No én is utolértem magam közben, válaszolok erre is...
Egyetértek, a feladatsor határozottan nehezebb mint a korábbi. Bár az oktatás is követné ezt színvonalban. Érződik, hogy próbálják a Pascalt leépíteni (ez önmagában nem baj), csak ennek eszközéül azt választották, hogy az ezt választó diákokat jól megszivatják...
Említettem kicsit korábban, hogy a hetedik és a hatodik feladat ugyanaz, és jobban jársz, ha ebben a sorrendben próbálod őket megoldani. A hetedik tényleg "baromi" nehéz, sokkal nagyobb ráfordítást igényel, mint a korábbi évek zárófeladatai.
Mondjuk annyi különbség van, hogy itt nem kell neked azon gondolkodnod, hogy "mit is kéne kihoznom a meglévő adatokból hogy válaszolhassak a kérdésre?", mert kerek perec leírták, hogy mi a cél: olyan szerkezetet kell felépítened, mint amit a "rendezett" oszlopban látsz. A kérdés csak a "hogyan?".
Ez most az a szituáció, hogy egy vagy két darab sima, egydimenziós lista nem elég. Ez egy "fésűs lista" is lehetne (ahogy a közoktatás csúfolja), de szerintem célravezetőbb, ha kapásból Dictionaryt építesz belőle.
Méghozzá egy Dictionary<string, List<string>>-et, amivel a kulcs az ABC-rendezett szó, és a hozzá tartozó listában vannak a konkrét szavak a szótárból.
A stratégia a következő:
0) Csinálsz egy ilyen Dictionary objektumot (továbbiakban: dict)
1) Ciklusban, egyszer végigmész a szótáron. Minden elemére:
1/a) veszed a szó ABC-rendezett alakját (továbbiakban: key)
1/b) a dict.ContainsKey(key) metódussal megnézed, hogy az adott kulccsal találkoztál-e már
- ha igen, akkor dict[key]-jel megszerzed a hozzá tartozó listát, és annak az Add metódusával eldugod a szót
- ha viszont nem, akkor létrehozol egy új List<string>-et, belerakod a szót, és a listát elteszed a dict-ben a key-hez. Pl.: dict[key] = list;
2) Ha a végére értél, nincs más dolgod, mint rendezni a dict.Keys-t a kulcs hossza alapján, és e szerint kiírni.A hatodik feladat pedig annyi, hogy veszed a maximális hosszú kulcsokat, és sorban kiírod a képernyőre a hozzá tartozó szavakat. Ha a dict megvan, ez pofonegyszerű
Érzem, hogy a 2) lépés elég nagy logikai ugrás, de azért remélem a gondolatmenet átjön. Ha nem, akkor szólj feltétlen.
És egyébként LINQ-kel az egész egy sor.
Ú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!
- NFL és amerikai futball topik - Spoiler veszély!
- Suzuki topik
- One otthoni szolgáltatások (TV, internet, telefon)
- Android alkalmazások - szoftver kibeszélő topik
- Nintendo Switch 2
- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
- Melyik tápegységet vegyem?
- exHWSW - Értünk mindenhez IS
- Béta iOS-t használók topikja
- Redmi Buds 5 és Buds 5 Pro - feláron vagy féláron?
- További aktív témák...
- iPhone 16 Pro Max 256GB Fekete Titán 96%-os Akksi
- Béreljen minikotró gépet már 24 órától, akár hosszabb időre is
- Bomba Ár! Lenovo ThinkPad E15 Gen2 AMD - Ryzen 5 I 8GB I 256SSD I 15,6" FHD I HDMI I W11 I Gari
- Bomba ár! Lenovo ThinkPad T14s G2 AL - i7-1185G7 I 16GB I 1TSSD I 14" FHD Touch I W11 I Cam I Gari!
- Bomba ár! HP ProBook 645 G4 - Ryzen 7 PRO I 8GB I 256SSD I HDMI I 14" FHD I Cam I W11 I Garancia!
- AeroCool Saturn 12F ARGB Pro 3db 120mm rendszer hűtő + 3 db jár hozzá+2 távirányitó +még 1 vezérlö
- 151 - Lenovo LOQ (15IAX9) - Intel Core i5-12450HX, RTX 4060
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 12 Pro 256GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3107, 100% Akkumulátor
- ÁRCSÖKKENTÉS Menő retró konfig: Q9550, Gigabyte P43, 4GB RAM, ASUS GT730
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest