Két tömb összefésülése?
Sziasztok!
Tegnap elkezdtem írni egy programot aminek a feladata az lenne, hogy összefésüli két tömb elemeit. Nos, ebben elakadtam. Tudnátok esetleg segíteni? Lehet hogy kiszúrja a szemem a hiba, de nem veszem észre.
Avagy a for ciklusban lévő változóra utalna az u[i] például? Szóval ha for i:= 1 to 5 do u[i]:=random(10); azt jelenti hogy az első lefutásnál mondjuk kap 2-t, másodiknál 10-et, harmadiknál 5-öt stb..
Erre ideje volt mondjuk rájönnöm.
Felejtsd el mi a változó neve.
Az a fontos, hogy az adott helyen, ciklusban a programozó milyen feladatot "ad" a változónak.
Ezért írtam, hogy talán jobban értelmezhető ha mindvégig k-val hivatkozunk rá, mert egy kezdő így jobban átlátja.
Az elején egy szimpla másolás történik, ott azért használható a j indexként, mert a forrás tömb olvasásakor már j-ben ott van az, ami a cél tömbben is az index lesz. De ha k-t használnál, úgy is jó lenne.
A kiírásnál pedig i a változó neve, de lehetne ott j is, ez már mindegy, mert ezekben a változóknak már nincs olyan érték, amire később szükség lehet. Bármelyiket lehet erre a célra használni, de akár lehetne itt 'l' nevű változó is.
Tehát mindig az a fontos, hogy egy változót mire használunk. Amikor már nincs rá szükség, akkor használhatjuk más célra. Általában az i,j-ket tipikusan olyan célra használjuk, ami ciklusban a számlálást végzi. De ez nincs kőbe vésve, bármit használhatsz.
Ezek alapján azt hiszem hogy megoldottam. Nagyon szépen köszönöm a türelmet és a segítséget! :)
Eddig tökéletesen fut. Igaz nehezen átlátható. Ezen (is) még dolgozhatnék.
Egy másik megközelítés, ami hibás, ugyanis nem uniot csinál, hanem zsákból halmazt, kiszűri a többszörös elemeket is.
Elég durva mellékhatás.
1982-ben hagytam el az iskolapadot, biztosan sok minden változott. Az unió nálam még halmazzal kapcsolatos fogalom és a halmaz egyfajta elemet csak egyszer tartalmaz - legalább is a programozásban -. Más eredmény jön ki ha A tömbbel és más eredmény ha B tömbbel kezdek és vizsgálom, hogy a második tömb eleme szerepel-e már a közösben.
De javítsatok ki ha tévedek.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!