Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Pascalban szöveges tömbök uniója

279
Ha valaki tudna ebben segíteni nagyon hálás lennék ! Előre is köszönöm
Egy iskolából két osztály elment ásványokat gyűjteni. A egyik osztály ezeket az ásványokat gyűjtötte be: pirit, galenit, kvarc, andezit. A másik csapat szintén gyűjtött ásványokat: ceolit, galenit, barit, andezit. Az iskolai ásványtárba az ásványokat fajtánként helyezik, egyféle ásványt egy polcra. Határozza meg, hogy milyen fajtájú ásványok lesznek elhelyezve az iskolai ásvány kiállításon!
Például, az első bemenet: pirit, galenit, kvarc, andezit, a második bemenet: ceolit, galenit, barit, andezit, a kimenet: pirit, galenit, kvarc, andezit, ceolit, barit.
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Középiskola / Egyéb

Válaszok

1
Pascal-t sosem használtam, szóval nem tudom, hogy mire képes és mire nem. Úgy hogy leírok egy lehetséges, de nem feltétlenül legjobb megoldást.
Beolvasás után létrehozol egy akkora tömböt, ami a két bemenet tömb méretének az összege (ha pl. az első bemenet 2 elemű, a második 5, akkor egy 7 elemű tömböt hozol létre, ennél nagyobb tömb biztos nem kell).
Ha feltételezhetjük, hogy egy bemeneten belül nem szerepelhet kétszer ugyanaz az ásvány (vagyis nem lehet ilyen: andezit andezit andezit), akkor az első bemenetet egy az egyben az általunk létrehozott nagyobb tömbbe másoljuk. A második menet elemét pedig csak utána másoljuk át, ha előtte megnéztük, hogy nincs-e benne az az elem. Vagyis egy for ciklussal végig mész a korábbi elemeken (igazából elég csak azokon az elemeken végigmenni, amik az első tömbből kerültek be).
Esetleg egy külön változóval számon is tarthatod, hogy a nagy tömbben hány helyet használsz fel, így könnyebb végigmenni rajta, illetve kiiratni.

A dinamikus memóriakezelés lenne egy másik lehetőség, de lehet, hogy nem éri meg vele szívni, illetve nem is tudom, hogy pascal-ban milyen.
0