Kezdőoldal » Számítástechnika » Programozás » Miért nem működik ez a kód?...

Miért nem működik ez a kód? (C#, bináris keresés rekurzívan)

Figyelt kérdés

static bool BinarySearchRecursive(int[] sequence, int element, int first, int last)

{

if(last >= first)

{

int middle = (first + last) / 2;

if (sequence[middle] == element) { return true; }

if (sequence[middle] > element)

{

BinarySearchRecursive(sequence, element, first, middle - 1);

}

else

{

BinarySearchRecursive(sequence, element, middle + 1, last);

}

}

return false;

}


Hívása:


int[] array = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

Console.WriteLine(BinarySearchRecursive(array, 3, 0, 9));


False-t dob.


2022. máj. 7. 20:20
 1/5 anonim ***** válasza:
14%
Mi mást adjon vissza, ha egyszer ott van a végén a "return false;"?
2022. máj. 7. 20:45
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:

"if (sequence[middle] == element) { return true; }"


Van egy ilyen rész is, ebbe elvileg bele kellene futnia.

2022. máj. 7. 20:46
 3/5 anonim ***** válasza:
78%

Fel van cserélve a feltétel.

Egyébként meg debug.

2022. máj. 7. 20:47
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:

"Fel van cserélve a feltétel"


Hol???

2022. máj. 7. 20:53
 5/5 A kérdező kommentje:
Ok, rájöttem.
2022. máj. 7. 21:00

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

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!