Avatar billede ugge Nybegynder
09. april 2006 - 15:57 Der er 6 kommentarer og
1 løsning

Konvertering af simpel C++ funktion (til Java)

template<class I, class T, class S>
T vsum(I beg,I end,T init,S vaegt)
{
    T sum = init;
    while(beg != end) sum += *beg++;
    return sum * vaegt;
}


Ovenstående C++ funktion beregner en vægtet sum af en følge. Kan man programmere noget tilsvarende i Java??
Avatar billede erikjacobsen Ekspert
09. april 2006 - 16:03 #1
Ja, hvordan ligger din data - array? ArrayList?
Avatar billede ugge Nybegynder
09. april 2006 - 16:06 #2
Det er lidt forskeligt. Det skulle gerne være sådan at man kan sortere uagtet følgens faktiske type, dvs arrays, List, Vector etc. Ligesom C++ funktionen gør det.
Avatar billede ugge Nybegynder
09. april 2006 - 16:45 #3
Sludder og vrøvl. Det skulle gerne være sådan at man kan summe, ikke sortere, uanset følgens og den elementers faktiske type :)
Avatar billede arne_v Ekspert
09. april 2006 - 17:53 #4
Det kan ikke laves i Java.

Java har generics fra version 1.5, men fordi Java generics compiles til kode
inden de bruges (i modsætning til C++ hvor koden først genereres ved brug)
skal man angive hvad I/T/S er i fom af interfaces/baseclasses og Java har
ikke et Computable interface som angiver at man kan bruge +.
Avatar billede ugge Nybegynder
09. april 2006 - 18:32 #5
Jamen øv :-(
Avatar billede ugge Nybegynder
09. april 2006 - 18:49 #6
Kan man lukke spørgsmålet eller noget, nu hvor der ikke findes noget svar?
Avatar billede ugge Nybegynder
11. april 2006 - 00:40 #7
Hmm
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