Avatar billede Morten Nybegynder
14. december 2004 - 10:07 Der er 3 kommentarer og
2 løsninger

fjerne dubletter i array

Hej

Hvordan fjerner man dubletter i et array - findes der en nem måde.

Jeg har et range al'a A1:F13000 som er tildelt et multidim.array kan jeg ikke på en "nem" måde fjerne dubletterne i arrayet??
Avatar billede martin_moth Mester
14. december 2004 - 12:47 #1
Loop igennem det.

For hvert trin i dit loop sammenligner du med samtlige poster, der ligger før det loop. Findes det i en af posterne før den aktuelle post, sletter du den aktuelle post:

Pseudo-kode

For i = lbound(array)+1 to ubound(array)
  for j=lbound(array) to i
    if array(j) = array(i) Then Slet post nummer i
  next j
Next i

NB: Du kan starte fra post nummer 2, derfor har jeg lagt 1 til i loopet med i.

Det er den letteste måde, som jeg lige ser det. Tror ikke der findes en "RemoveDublets(Array)" funktion
Avatar billede martin_moth Mester
14. december 2004 - 12:53 #2
Alternativ metode:

Opret et nyt array.
Loop igennem det gamle array, og kopier over i det nye.
Inden hver kopiering tjekkes om den aktuelle post allerede er kopieret over:

Pseudokode:

For i = lbound(array) to ubound(array)
  blnPostFindes = false
  for j=0 to i
    if array(i) <> Nytarray(j) then blnPostFindes = true
  next j
  if blnPostFindes then
    k= k+1
    Redim preserve Nytarray(k)
    NytArray(k) = array(i)
  end if
Next i
Avatar billede Morten Nybegynder
14. december 2004 - 13:09 #3
åh ja og så var der lige krøllen jeg glemte - at jeg skal tjekke på "kolonner" altså array(1) og array(2) og array(3) og kun når alle tre er identiske så skal den ikke med/fjernes
Avatar billede martin_moth Mester
14. december 2004 - 13:38 #4
Principperne er de samme
Avatar billede martin_moth Mester
28. december 2004 - 11:16 #5
Hallo?
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