C# tömbben keresés?
Egy tömbben meg kellene keresnem az összes 0-ás értéket, és ha létezik ilyen, akkor kiíratnom a képernyőre a közvetlenül ezek előtt és után álló első számot (ha az nem 0), illetve ezeket eltárolni egy listában. (A számokat random generáltatom, és a tömb elemeinek számát pedig a user adja meg.) Ezt hogyan tudom megcsinálni?
pl
2 3 0 3 6 5 0 2
Itt azt kéne visszakapnom, hogy 3 3 5 2.

























Akkor tanuld meg a programozási tételeket. Ne a konkrét kódot, hanem hogy a ciklus mettől meddig megy és hasonlók, hogy el tudd mondani a saját szavaiddal.
Itt egy C#-ban implementált lista róluk: [link]
Te ne while hanem for ciklust használj, és rakd be a listába az indexet, amikor megtaláltad.





For ciklussal végigszaladsz a tömbödön, ha tömb[i] == 0, akkor megnézed eltárod az előző(tömb[i-1]) és a következő(tömb[i+1]) elemet, aztán kiírod a ciklus végén az eredményt. Annyi, hogy ne az egész tömbön ugrálj végig hanem csak a második és az utolsó előtti elemen, hogy i-1/i+1 el ne indexeld túl a tömbödet.
Ha nem világos amit írtam, akkor nézz utána a for ciklusnak és érthető lesz.
Random veletlen = new Random();
Console.WriteLine("Kérem a tömb elemeinek számát: ");
int elemszam = Convert.ToInt32(Console.ReadLine());
int[] tomb = new int[elemszam];
for (int i = 0; i < tomb.Length; i++)
{
tomb[i] = veletlen.Next(0, 11);
Console.WriteLine("\t{0}", tomb[i]);
}
int j = 0;
while (j<tomb.Length && tomb[j] != 0)
{
j++;
}
if (j<tomb.Length)
{
Console.WriteLine("VAN 0-as érték a tömb elemei között, a {0}.helyen.", j+1);
}
Console.ReadKey();
Eddig jutottam, de ez ugye nem jó, mert csak az első 0-át adja meg, illetve annak az indexét.





Na pontosítok, ne a keresés, hanem a kiválogatás tételét használd. De nem az elemet tárolod el, ahol nulla, hanem
- vagy az indexét, és utólag írod ki az index-1, index+1 helyen lévő elemeket,
- vagy az előtte-utána lévő elemeket (feltéve, hogy létezik az az index, azaz nem elé-mögé indexelsz)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!