Hur skriver jag ut resultat från en metod för binär sökning (nybörjare) C#
Jag läser programmering 1 i gymnasienivå.
Har fått ett antal olika uppgifter att genomföra och har fastnat i att presentera resultatet av en binär sökning av en lista med städer och temperaturer.
Problemet är att vid initiering av metoden så blir resultatet alltid ( -1 ). Trots korrekt input.
Här är en länk till en pastebin där man kan se hela koden: https://pastebin.com/dm3Xf0Kr
Nedan är metod för binär sökning som söker efter temperatur i ett stadsfält:
static int binärSökning(List<Stad> SorteradLista, int bSök, int n)
{
int låg = 0;
int hög = SorteradLista.Count - 1;
while (låg <= hög)
{
int mitten = (låg + hög) / 2;
if (bSök == SorteradLista[mitten].temp)
{
return mitten;
}
else if (SorteradLista[n].temp == 1)
{
return -1;
}
else if (bSök < SorteradLista[mitten].temp)
{
hög = mitten - 1;
}
else
{
låg = mitten + 1;
}
}
return -1;
}
Här är koden för att testa så att metoden fungerar (vilket den inte gör):
case 4:
Console.Write("\nAnge värde du söker: ");
int bSök = Convert.ToInt32(Console.ReadLine());
int resultat = binärSökning(SorteradLista, bSök, n);
if (resultat == -1)
{
Console.WriteLine("Sökta värdet finns inte i listan.");
}
else
{
Console.WriteLine("Värdet för den sökta temperaturen är: " + resultat);
}
break;