Kezdőoldal » Számítástechnika » Programozás » Hogyan oldajam meg ezt a java...

Hogyan oldajam meg ezt a java feladatot?

Figyelt kérdés

"Írja ki a képernyőre, hogy melyik fiú szerepelt a legtöbbször a fiúk közül, és melyik lány a lányok közül! Ha több fiú, vagy több lány is megfelel a feltételeknek, akkor valamennyi fiú, illetve valamennyi lány nevét írja ki!"


Ez a 2015ös májusi emelt informatika érettségi programozás részének az utolsó feladatja.


A fiúk és a lányok neve már el van tárolva 2 különböző ArrayListben, de ötletem sincs, hogy hogyan lehet a leggyakoribb értéket megtalálni.



2018. máj. 10. 11:01
 1/9 anonim ***** válasza:
75%
Map-pal
2018. máj. 10. 11:25
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:
Map nélkül? Azt még nem tanultam és 14én van érettségi, plusz a Map nem követelmény.
2018. máj. 10. 11:30
 3/9 anonim ***** válasza:

Klasszikus programozási tételekkel. Kigyűjtöd egy új tömbbe a neveket, és melléírod a darabszámot, aztán ezekre végzel egy index szerinti maximumkiválasztási tételt.


Valószínűleg ez a legbonyolultabb, de ehhez kell a legkevesebb eszköz ismerete. Pl. map sem.

2018. máj. 10. 11:48
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:

Ezt úgy érted, hogy egy 2. tömbbe az adott szó indexére egy számot rakok, hogy hányszor fordult elő? Majd szimplán az egyik max értékbő kiírok egyet?


Köszi ez működhet.



Még egy kérdésem van, ez nem a feladathoz kell, de mi lenne ha ezzel a módszerrel kikéne írnom a 3 legtöbbet előforduló nevet?

Mert ebben a módszerben, annyiszor fog szerepelni a következő tömbben egy egyott szónak az előfordulásának száma, ahány ilyen szó van.

2018. máj. 10. 12:20
 5/9 anonim ***** válasza:

Utolsó mondat: ez rajtad múlik. Ha rosszul csinálod meg, akkor igen. De megcsinálhatod jól is, ha figyeled, hogy van-e már ilyen név.


De ha hajlandó vagy egy kicsit önállóan tanulni, akkor jobban jársz, ha megtanulod a HashSet (halmaz adattípus) használatát. Mivel matekórán tanultad, hogy egy halmazban egy elem csak egyszer fordul elő. Tehát ha a nevek listájából csinálsz egy halmazt, majd azt visszaalakítod listává, akkor automatikusan minden név csak egyszer fog szerepelni benne, és emellé már csak a számokat kell kigyűjteni. Érdemes új dolgokat tanulni, mert sok időt spórolhatsz vele.


Az első mondatod stimmel, a második nem.

"Majd szimplán az egyik max értékbő kiírok egyet?"

Nem a max. értékből, hanem a max. értékhez tartozó névből, és nem egyet, hanem az összeset, mert ezt kéri a feladat.

2018. máj. 10. 12:25
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:

Ha nem akarod mappal, akkor lehet úgy is, hogy

csinálsz egy uj arraylistet

kiveszed az első nevet a listából, beírod az új arrayListbe, megszámolod hányszor fordul elő, kész

kiveszed a 2. nevet, megnézed hogy nincs e benne az új arrayListben, ha nincs, megszámolod.

stb. stb.


Nem szép de pár sorban megírható

2018. máj. 10. 12:31
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:

5# Persze úgy értettem, hogy a max érték indexével megyegyező nevet a másik arrayben.


Pl.: ha kigyűjtöm az egyedi neveket egy arraylistbe és ahoz csinállok egy ilyen "számolgatós arrayt", ahol a név indexének megfelelő indexnek adom hozzá a számot ha az összes nevet és változatot tartalmazó listán találok egy olyan nevet.


Ennek már megkéne felelnie a kitalált problémámra is, nem?


Amúgy tudom, hogy meg kéne tanulnom azokat a dolgokat, de most érettségi előtt pár nappal már nem állok neki. Meg nem csak a programozást kell még átnéznem.

2018. máj. 10. 12:36
 8/9 A kérdező kommentje:
Köszönöm a segítséget :) Még sem olyan nehéz
2018. máj. 10. 12:37
 9/9 anonim ***** válasza:

Igazából két lehetőséged van, mint azt már írták.

Vagy mapot használsz, vagy magad írod meg azt, ami a végén ugyanúgy map lesz, csak sokkal több időd megy el rá és sokkal könnyebben hibázhatsz.

Nyilván nagyon hasznos ismerni ezeknek az adatszerkezeteknek a lelki világát, de az érettségin, ahol időre kell teljesíteni, jobb használni a kész megoldásokat, a legtöbb nagyon egyszerű.

2018. máj. 10. 13:07
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!