Kezdőoldal » Számítástechnika » Programozás » Két tömb összefésülése?

Két tömb összefésülése?

Figyelt kérdés

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.


[link]



2016. nov. 14. 15:26
1 2 3 4
 11/33 A kérdező kommentje:
Hiszen az u[i]-ben csak az a[j] elemei vannak benne. Hogy kerülnének bele a b[i] elemek is?
2016. nov. 14. 21:28
 12/33 A kérdező kommentje:

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.

2016. nov. 14. 21:43
 13/33 anonim ***** válasza:

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.

2016. nov. 14. 21:45
Hasznos számodra ez a válasz?
 14/33 A kérdező kommentje:

Ezek alapján azt hiszem hogy megoldottam. Nagyon szépen köszönöm a türelmet és a segítséget! :)


[link]

Eddig tökéletesen fut. Igaz nehezen átlátható. Ezen (is) még dolgozhatnék.

2016. nov. 14. 21:54
 15/33 SimkoL ***** válasza:
Egy másik megközelítés: [link] csak akkor pakoljuk be a a tömb elemet a 'közösbe' ha még nem szerepel benne.
2016. nov. 15. 11:04
Hasznos számodra ez a válasz?
 16/33 anonim ***** válasza:

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.

2016. nov. 15. 11:33
Hasznos számodra ez a válasz?
 17/33 SimkoL ***** válasza:

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.

2016. nov. 15. 12:25
Hasznos számodra ez a válasz?
 18/33 anonim ***** válasza:
A halmaz és a tömb viszont nem épp ugyanaz. Tömbökre (illetve multihalmazokra)rendszerint úgy értelmezzük az uniót, hogy egy adott elem annyiszor kerül bele az unióba, amennyi a maximális előfordulása az uniózni kívánt tömbökben. Szóval ha az A tömbben 4-szer fordul elő a 42, a B tömbben pedig 2-szer, akkor az unió 4-szer fogja tartalmazni azt. Más kérdés, hogy sem a te megoldásod, sem a fenti megoldás nem ezt implementálja. :D
2016. nov. 15. 12:35
Hasznos számodra ez a válasz?
 19/33 SimkoL ***** válasza:
Értelek, nem bonyolult dolog, de anno még én ilyet - hasonlót - nem tanultam. Nálam a halmaznál megállt.
2016. nov. 15. 12:38
Hasznos számodra ez a válasz?
 20/33 SimkoL ***** válasza:
*így már nem bonyolult dolog,...
2016. nov. 15. 12:43
Hasznos számodra ez a válasz?
1 2 3 4

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!