C# console app.2D tömbből elemek eltüntetése, ami fölöttük van, az essen le, tetejére új elem generálás?
Szóval azokat az elemeket kéne eltüntetni, amik egymás mellett vannak, és ugyanazok. A keresőm megvan hozzá, de valahogy meg kéne oldani, hogy eltűnjenek. Minden felettük levő tag j-jéhez hozzáadni egyet, és utána újracsekkolni, amíg nem lesznek egyforma elemek egymás mellett.
Hogy lehetne megoldani?
Oké, kifejtem.
Van egy 2d-s tömb, tele elemekkel. Végig fut rajta egy kereső ciklus, ami megtalálja, ha egymás mellett (vagy alatt felett) ugyanazok az értékek vannak. Pl 123445, a második sor. Itt megtalálja a két 4-est. Most nekem azt kéne elérnem, hogy ez a két négyes eltűnjön, és a felettük lévő első sorból a 4. és 5. elem lekerüljön ezeknek a helyére, majd a tömb tetejére(első sor 4. és 5. eleme) kerüljenek új véletlen számok.
De ez csak egy példa rá, nekem általánosságban kéne megoldanom.
Tömbből sehogysem tudsz kivenni, ugyanis annak fix a mérete.
A legközelebbi amit tenni tudsz, hogy nullable type-ot használsz és null-t teszel a kiveendő elem helyére.
Van az alap tömb és csinálsz egy másikat.
Az első tömb elemeit beteszed a második tömbe és az azonosokat kihagyod és annyival csökkented az első tömb hosszát amenyit kihagyot és oda feltöltöd a maradék elemeket.
Valami ilyesmire gondoltál?
https://pastebin(pont)com/mhs0xemd
Itt az eddigi kódom:
https://pastebin(pont)com/GDYpqwY3
A tanárom szerint Flood Fillel kéne dolgoznom, mert ez egy adott pontból kiindulva kijelöli a szomszédos törlendő elemeket.
majd miután töröltem ezeket, alulról felfelé menjek végig, és ahol üres helyet találok, ott vigyem a felette lévőt az üres helyére. Ez mind szép és jó, de neten Flood Fillt csak színcserére találok.
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!