Avatar billede kar Nybegynder
16. oktober 2002 - 20:25 Der er 3 kommentarer og
2 løsninger

binær søgning

Hej!
mit sprøgsmål er flg:
For at bruge binærsøgning skal jeg finde den midterste værdi som gøres ved
int midt=(foerste+sidste)/2;

mit array ser fx ud som flg:
int tab[]={1,3,5,7,8,9};

hvad er den midderste værdi? plads 2 eller 3?
(altså runder den op eller ned).
Hilsenr karina
Avatar billede erikjacobsen Ekspert
16. oktober 2002 - 20:28 #1
Det skal være nummer 2 (den tredie med værdi 5).
Altså nedrunding. Men det gør din division også,
Avatar billede soreno Praktikant
16. oktober 2002 - 20:30 #2
#include <stdio.h>

int main(int argc, char **argv)
{
  int test1 = (int)11/2;
  printf("test1 indeholder: %i\n", test1);

  return 0;
}

output:
test1 indeholder: 5

så den runder ned.
Avatar billede kar Nybegynder
16. oktober 2002 - 20:30 #3
tak or svaret - vil du ikke have nogle point?
hilsen karina
Avatar billede krukken Juniormester
16. oktober 2002 - 20:31 #4
Middelværdien i arrayet står jo på plads 2! Du kan bruge %operatoren til at finde den værdi som er tætteste på middelværdien!
Avatar billede arne_v Ekspert
16. oktober 2002 - 20:53 #5
Integer division runder ned, så man bruger vel altid det.

Men binær søgning virker lige godt, hvadenten man runder
op eller ned.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester