Kezdőoldal » Számítástechnika » Programozás » Sok tömb azonos indexein lévő...

Sok tömb azonos indexein lévő egyező értékkel rendelkező elemeinek megtalálása miként lehetséges a legegyszerűbb módon? (bővebben lent)

Figyelt kérdés

Tehát tegyük fel, hogy van sok azonos hosszúságú tömb: tomb1,tomb2,tomb3... egészen mondjuk harmincig, ezek száz elemet tartalmaznak.

A tömbök nem rendezettek, véletlenszerűen tartalmazzák a számokat.

Ha azt szeretnénk megtudni, hogy azonos index-en nincs-e azonos érték két vagy több tömb esetén, mit kell tenni, hogy a legegyszerűbb ezt leprogramozni hogy az algoritmus vissza is adja konkrétan?

For ciklussal végigmenni és a ciklus belsejébe beírni hogy:

if (tomb1[i]=tomb2[i]) or(tomb3[i]=tomb4[i])...

Tehát így végig ahány tömb van, szerintem fárasztó és nem jó megoldás.

Két ciklussal csinálni, amely végigmegy, veszi az első tömböt, összehasonlítja a másodikkal és miután végigér, veszi a másodikat és azt hasonlítja össze elejétől a végéig, ez sem biztos hogy jó megoldás mert a tömb önmagára is eshet ekkor az összehasonlítás és ez ugye mindig igaz lesz...

Másrészt ezt lépésenként be kell írni ami rendkívül fárasztó.

Hogy hívják ezt amit szeretnék csinálni és mi a legjobb módszer rá?



2014. júl. 25. 19:53
1 2
 1/17 anonim ***** válasza:
100%
Pedig ez összehasonlítással megy alapból, persze csinálhatszt tömbök tömbjét. De az összehasonlítást nem spórolod meg. Alternatívaként csinálsz egy tömböt és abban feljegyzed, hogy adott indexen mennyi 1-es 2-es 3-as ... érték volt. Ezt optimalizálhatod, hogy eltérés esetén ne csinálja tovább.
2014. júl. 25. 20:02
Hasznos számodra ez a válasz?
 2/17 A kérdező kommentje:
Köszönöm szépen. Ennek amit szeretnék csinálni, mi a neve?
2014. júl. 25. 20:07
 3/17 anonim ***** válasza:

if (tomb1[i]=tomb2[i]) or(tomb3[i]=tomb4[i])...

Ez nem azt hozza ki, amire vársz, mert ha a tomb4[5] = tomb1[5] igaz, akkor alertelni kéne, de ez az if nem csinál semmit.

Minden tömbön menj végig, és egyesével pakolgasd fel az indexeket egy egyesítőarraybe.

Pl. bigArray = [tomb1[1], tomb2[1], tomb3[1], tomb1[2], tomb2[2], tomb3[2], tomb1[3], tomb2[3], tomb3[3], ...];

Ez két for looppal egyszerűen megoldható. Ha a tombok neve egy arrayban van már sorrendben, vagy úgy épülnek fel, hogy "tomb"+int[serial].

Utána az arrayok számaként felbonto a nagyarrayt kisarrayekre, ha nem true, hogy unique_array, akkor alertelsz, vagy amit akarsz. Ha nem érted, írd meg privátban, meg esetleg a nyelvet, amin akarod.

2014. júl. 25. 21:40
Hasznos számodra ez a válasz?
 4/17 anonim ***** válasza:
100%
Kétdimenziós tömbbel csináld!
2014. júl. 25. 21:59
Hasznos számodra ez a válasz?
 5/17 iostream ***** válasza:
76%
Márpedig ez lélekben egy három mélységű ciklus lesz egy kétdimenziós tömbön. Minden sorban mindent mindennnel össze kell hasonlítani, a minden sorban megy százig, a mindent mindennel meg megy 29-ig és azon belül a külső ciklustól harmincig.
2014. júl. 26. 13:36
Hasznos számodra ez a válasz?
 6/17 A kérdező kommentje:
Ez a három említett ciklus for ciklus lenne vagy valamilyen ciklusok kombinációja?
2014. júl. 26. 16:37
 7/17 anonim ***** válasza:

"Két ciklussal csinálni, amely végigmegy, veszi az első tömböt, összehasonlítja a másodikkal és miután végigér, veszi a másodikat és azt hasonlítja össze elejétől a végéig, ez sem biztos hogy jó megoldás mert a tömb önmagára is eshet ekkor az összehasonlítás és ez ugye mindig igaz lesz"


Most akkor mit akarsz, teljes tömböket összehasonlítani vagy csak tömbök i-edik elemét?

2014. júl. 26. 21:51
Hasznos számodra ez a válasz?
 8/17 A kérdező kommentje:
Csak az azonos indexen lévő elemeket keresem, semmi mást.
2014. júl. 26. 21:52
 9/17 anonim ***** válasza:
Akkor igazából elég összehasonlítani az első tömb i.-ik elemét a többi tömb i.-ik elemével, több összehasonlítás nem szükséges mivel az egyenlőség tranzitív reláció.
2014. júl. 26. 22:14
Hasznos számodra ez a válasz?
 10/17 iostream ***** válasza:
58%

"Akkor igazából elég összehasonlítani az első tömb i.-ik elemét a többi tömb i.-ik elemével, több összehasonlítás nem szükséges mivel az egyenlőség tranzitív reláció."


Ez akkor lenne igaz, ha az volna a felvétel, hogy az ÖSSZES i. elem ugyanaz. A feltétel a volt, hogy bármely két i. elem ugyanaz.

2014. júl. 26. 23:10
Hasznos számodra ez a válasz?
1 2

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!