C# egymás mellett lévő azonos értékek számolása?
int index = 0
foreach(int szam in tomb){
if (index + 1 <= tomb.Length){
if (szam == tomb[index + 1] || szam == tomb[index - 1]){
//Ide a kódot hogy mi történjen ha van két ugyanolyan szám egymás mellett
}
}
index++;
}
Utolsó, ez minden, csak nem jó :D
A feladat adott, megszámolni hány 1-nél hosszabb azonos számokból álló sorozat van a tömbben. Ha valakinek nem sikerült értelmezni a kérdező által leírtakat, ez az.
Ha tudunk extremális elemet beállítani (olyan számot, amiről biztosan tudjuk, hogy nem fog szerepelni a tömbben), akkor meg tudjuk csinálni így:
int db = 0;
// ebben számoljuk a sorozatokat
int comparedNumber = <extr>
//<extr> az extremális elem, mondjuk null.
bool foundDuplicate
// ezzel a bool-al jelöljük, hogy találtunk-e már párt ismétlődés nélkül
for (int elem in tomb)
{
>>if (elem == comparedNumber && !foundDuplicate)
>>{
>>>>foundDuplicate = true;
>>>>db++;
>>}
>>else if (elem != comparedNumber)
>>{
>>>>comparedNumber = elem;
>>>>hasFound = false;
>>}
}
Ha minden igaz, ez pontosan azt csinálja, amit szeretnél.
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!