Avatar billede petersss Nybegynder
18. oktober 2001 - 12:45 Der er 11 kommentarer og
2 løsninger

vælge højeste integer værdi ud af tre mulige

er der en funktion til dette? hvis ikke hvordan ville være den hurtigste måde at få den til at vælge den højeste integer værdi ud af 3 mulige?
Avatar billede a_c Nybegynder
18. oktober 2001 - 12:49 #1
Er det fra en database kan du jo sige

select MAX(dit tal) from dintabel;

ellers må du vel sammenligne dem.

A_C
Avatar billede petersss Nybegynder
18. oktober 2001 - 12:50 #2
det er ikke fra en database, og hvad ville du gøre for at sammenligne dem? simple if sætninger?
Avatar billede unclebug Nybegynder
18. oktober 2001 - 12:52 #3
Highest := -9999999;
if (A > B) then Highest := A else Highest := B;
if (C > Highest) then Highest := C;

Tjaeh, lige ud af landevejen, men der findes vist ikke en funktion
Avatar billede unclebug Nybegynder
18. oktober 2001 - 12:55 #4
Iøvrigt, hvis det er performance vi taler om, så er dette også den hurtigste måde at gøre det på. Et funktionskald vil alene tage længere tid end de if\'er, og funktionen ville alligevel skulle gøre det samme.
Avatar billede spectre Nybegynder
18. oktober 2001 - 13:00 #5
jeg mener godt at man kan bruge MAX() med flere end 2 variabler...

Prøv med:

Highest := Max(a,b,c);

Avatar billede petersss Nybegynder
18. oktober 2001 - 13:07 #6
max benytter kun to variabler. check delphi help
Avatar billede unclebug Nybegynder
18. oktober 2001 - 13:09 #7
Ehm, fjern bare linien Highest := -9999999, den skal ikke bruges

*bonk UncleBug*
Avatar billede petersss Nybegynder
18. oktober 2001 - 13:10 #8
problemet er at der er en risko for at de to højeste værdier er det samme...
Avatar billede unclebug Nybegynder
18. oktober 2001 - 13:11 #9
Hvad er problemet i det? Hvis de er ens, så er det vel ligegyldigt hvilken af dem der vælges?
Avatar billede alsted Nybegynder
18. oktober 2001 - 13:17 #10
Hvis du vil bruge funktioner istedet for if, kan du jo bare skrive

Highest := Max(a,Max(b,c));
Avatar billede martinlind Nybegynder
18. oktober 2001 - 13:32 #11
Jo, der findes en func. der hedder MAX(tal1,tal2);
og en Min();
Avatar billede kbb2 Nybegynder
18. oktober 2001 - 17:24 #12
Er i da bare hjernelamme!! Unclebug\'s løsning er da klart bedst og hurtigst!!!

Der findes kun et bedre alternativ og det er assembler, men nu er det jo Delphigruppen! hæhæ!
Avatar billede unclebug Nybegynder
18. oktober 2001 - 17:30 #13
Tjaeh, først kommer der en fuldstændig malplaceret kommentar, og derefter bliver den accepteret som svar.

Og petersss underlader at svare på et ikke helt uvedkommende spørgsmål (\"Hvad er problemet i det? Hvis de er ens, så er det vel ligegyldigt hvilken af dem der vælges?\"). Det ville være rart hvis både dem der stiller spørgsmål og dem der kommenterer/svarer, var bare en smule mere opmærksomme.
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