Avatar billede mskjoldp Novice
03. november 2005 - 20:25 Der er 8 kommentarer og
1 løsning

array udtræk

Hey E

1. ArrayX indeholder: 1, 2, 3, 4, 5, 6, 7, 8, 9
2. ArrayY indeholder: 1, 2, 4, 5, 7, 8

Hvordan løber jeg disse to array gennem hinanden og lister:
Resultat: 3, 6, 9
Avatar billede softspot Forsker
03. november 2005 - 20:34 #1
Hvis opgaven lyder: Find de tal i strX som ikke findes i strY, så prøv denne:

strX = "1, 2, 3, 4, 5, 6, 7, 8, 9"
strY = "1, 2, 4, 5, 7, 8"

arrX = Split(replace(strX, " ", ""),",")
strY = "," & replace(strY, " ", "") & ","
strNotFound = ""
for i = 0 to ubound(arrY)
  if inStr(1,strY,"," & arrX(i) & ",") = 0 then
    if len(strNotFound) > 0 then
      strNotFound = strNotFound & ","
    end if
    strNotFound = strNotFound & arrX(i)
  end if
next

response.write "Resultat: " & strNotFound
Avatar billede mskjoldp Novice
05. november 2005 - 20:52 #2
Det ser interessant ud, men jeg er ikke den store haj, så jeg ved ikke hvordan jeg skal komme forbi denne fejl...

Typer stemmer ikke overens: 'ubound'

i denne linje:

for i = 0 to ubound(arrY)
Avatar billede erikjacobsen Ekspert
05. november 2005 - 20:54 #3
Prøv
  for i = 0 to ubound(arrX)
Avatar billede softspot Forsker
05. november 2005 - 23:37 #4
Argh! Ja, jeg rettede kode til da jeg sad og lavede den, fordi jeg i første omgang havde vendt det sådan at det var strY der blev lavet til et array og strX som den løsning jeg smed ind... så fik jeg åbenbart ikke rettet helt igennem. Sorry!
Avatar billede mskjoldp Novice
07. november 2005 - 22:49 #5
super det virker.
jeg har et spørgsmål vedrørende koden.

denne linje: inStr(1,strY,"," & arrX(i) & ",")
vil jeg gerne have forklaret. Jeg er med på instr(    men ikke 1 og sammenhænget med arrX(i)

og så et svar fra dem der gerne vil have points

:)
Avatar billede softspot Forsker
07. november 2005 - 22:57 #6
Der søges i strY efter det aktuelle værdi i arrX (altså arrX(i)) omstillet af komma. Dette gøres for at sikre dig, at der ikke findes andre tal med flere cifre - f.eks. ville arrX(i) med værdien 1 jo matche 1 og 11 og 111 og 1111 og 121 osv., hvis man ikke sørger for at afgrænse søgningen. Kommaerne får værdien til at se således ud ,1, og den matcher jo kun netop ,1, i strY og ikke ,11, eller ,111, osv.

instr(1, osv...)

angiver blot at der startes fra position 1 i strengen (og kan vist godt undlades iflg. MS dokumentation af VBScript's instr-funktion).
Avatar billede softspot Forsker
07. november 2005 - 22:57 #7
...og et lille svar til dig også :)
Avatar billede mskjoldp Novice
17. november 2005 - 07:46 #8
super
Avatar billede softspot Forsker
17. november 2005 - 08:10 #9
Tak for point :)
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