04. maj 2008 - 15:29Der er
21 kommentarer og 1 løsning
Udskriv array alfabetisk i 4 kolonner
Hejsa Jeg har i dag et stykke kode, som kan udskrive et given array alfabetisk i 2 kolonner. Hvis fx arrayet indeholder "a,b,c,d,e,f,g" udskrives det sådan her:
a e b f c g d
Men jeg vil gerne have det i 4 kolonner, altså sådan her:
a c e g b d f
Det kode jeg har i dag, der kan lave i 2 ser sådan her ud:
*********************** 'opdel i array arrayOfLinks = split(strLinks, "</a>")
'lav array til uskrivning i tabel dim dataArrayKat redim dataArrayKat(1,0) count = UBound(arrayOfLinks) if count mod 2 = 0 then half = (count/2)-1 else half = int(count/2) end if redim dataArrayKat(1,half) a=0 b=0 for i=0 to UBound(arrayOfLinks)-1 if a<=half then dataArrayKat(0,b) = arrayOfLinks(i) else dataArrayKat(1,(b-half)-1) = arrayOfLinks(i) end if a=a+1 b=b+1 next
'start udskrivning Response.Write "<table width=""100%"">" for a=0 to half Response.write "<tr>" for b=0 to 1 Response.write "<td class=""padding"" width=""50%"" valign=""top"">" & dataArrayKat(b,a) &"</td>" next Response.write "</tr>" next Response.Write "</table>" ***********************
Nogle der kan få det lavet om, så den kan udskrive i 4 kolonner?
'opdel i array arrayOfLinks = split(strLinks, "</a>")
'lav array til uskrivning i tabel dim dataArrayKat redim dataArrayKat(1,0) count = UBound(arrayOfLinks) if count mod 4 = 0 then half = (count/2)-1 else half = int(count/2) end if redim dataArrayKat(1,half) a=0 b=0 for i=0 to UBound(arrayOfLinks)-1 if a<=half then dataArrayKat(0,b) = arrayOfLinks(i) else dataArrayKat(1,(b-half)-1) = arrayOfLinks(i) end if a=a+1 b=b+1 next
'start udskrivning Response.Write "<table width=""100%"">" for a=0 to half Response.write "<tr>" for b=0 to 1 Response.write "<td class=""padding"" width=""50%"" valign=""top"">" & dataArrayKat(b,a) &"</td>" next Response.write "</tr>" next Response.Write "</table>"
Response.Write("<table border=1>") for currentRow=0 to intRowCount Response.Write("<tr>") For i=intNewPosition to UBound(myArray) STEP (intRowCount+1) response.Write(" <td>"& myArray(i) &" ("& i &") </td>") next intNewPosition = intNewPosition + 1 Response.Write("<tr>") next Response.Write("</table>")
#!/usr/bin/env python # -*- coding: UTF-8 -*- def udskriv( x, antalKolonner=4 ): """ Udskriv sorteret i antalColonner """ x.sort() antal = len( x ) antalRaekker = antal / antalKolonner + 1 for i in range(antalRaekker): for col in range( antalKolonner ): try: print x[ i + antalRaekker * col ], except: break print
if __name__ == "__main__": udskriv( x=[ chr(x) for x in range(ord("a"), ord("z")+1)], antalKolonner=7 )
a e i m q u y b f j n r v z c g k o s w d h l p t x
<%@LANGUAGE=Python%> <% # Licence GPL # se http://support.microsoft.com/kb/276494 der er beskrevet hvordan du # opsætter din asp server til at bruge python def udskriv(x, antalKolonner=4): """ Sorter x og udskriv i antalColonner """ x.sort() antal = len( x ) antalRaekker = antal/antalKolonner + 1 for i in range(antalRaekker): for col in range( antalKolonner ): try: Response.write( x[ i + antalRaekker * col ]) except: break Response.write("\n")
udskriv( x=[ chr(x) for x in range(ord("a"), ord("z")+1)], antalKolonner=4 ) %>
Og jeg siger tak :) Bauerdata: jeg fik ikke noget ud af dit svar, så point fordelingen er som den er for at vise andre brugere hvor jeg fandt mit svar.
Tak for hjælpen til jer alle!
Synes godt om
Ny brugerNybegynder
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.