Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hur sortera en tvådimensionell array

Postades av 2008-03-02 16:09:55 - Alf Zell, i forum visual basic - allmänt, Tråden har 6 Kommentarer och lästs av 922 personer

Hej
Har en tvådimensionell array enligt följande:

Test(0).A=10
Test(0).B=0,1
Test(1).A=50
Test(1).B=0,3
Test(2).A=30
Test(2).B=0,2
Test(3).A=100
Test(3).B=0,15

Vill sortera den efter värdet i A så att följande erhålls
Test(0).A=10
Test(0).B=0,1
Test(1).A=30
Test(1).B=0,2
Test(2).A=50
Test(2).B=0,3
Test(3).A=100
Test(3).B=0,15

Klarar av det med en endimensionell array men ej med en tvådimensionell
Är det någon som kan hjälpa mig ?


Svara

Sv: Hur sortera en tvådimensionell array

Postades av 2008-03-02 20:17:48 - Niklas Jansson

Den är inte tvådimensionell, så det borde inte vara något större problem.

Byt ut ditt villkor
if array(i) > array(j)

till
if array(i).A > array(j).A

och du får nog göra en något krångligare swap-grej.


Svara

Sv:Hur sortera en tvådimensionell array

Postades av 2008-03-02 22:12:08 - Alf Zell

Så enkelt var det inte

som du ser så har Test(2) blivit Test(1) och tvärtom

Test(1).A=50
Test(1).B=0,3
Test(2).A=30
Test(2).B=0,2

Test(1).A=30
Test(1).B=0,2
Test(2).A=50
Test(2).B=0,3



Svara

Sv: Hur sortera en tvådimensionell array

Postades av 2008-03-02 22:17:55 - Niklas Jansson

Jag förstår inte vad du menar är fel.
Hur ser din sorteringsalgoritm ut?


Svara

Sv:Hur sortera en tvådimensionell array

Postades av 2008-03-03 00:02:43 - Alf Zell

Jag har ingen algorim ännu, därför frågan
Skillnaden är att indexen har bytt plats

Vill ha den variabeln med lägst värde på 'A' till index 0 (Test(0).A)



Svara

Sv: Hur sortera en tvådimensionell array

Postades av 2008-03-03 00:14:28 - Niklas Jansson

Jag förstår verkligen inte problemet.

Låt säga att du har en Bubble sort:

dim arr(1 to 10) as integer
'...
for i = 1 to 10
  for j = i to (10-i+1)
    if arr(i) > arr(i+1) then
      tmp = arr(i)
      arr(i) = arr(i+1)
      arr(i+1) = tmp
    end if
  next j
next i


Det enda du behöver göra då är att ändra villkoret
if arr(i) > arr(i+1) then
till
if arr(i).A > arr(i+1).A then

och se till att tmp har rätt typ (alternativt göra hela swappen själv).


Svara

Sv:Hur sortera en tvådimensionell array

Postades av 2008-03-03 10:39:30 - Alf Zell

Tack, detta löste nog problemet

Problemet var att jag även måste flytta med mig värdet för B

Gjorde så här:

dim arr(1 to 10) as integer
'...
for i = 1 to 10
  for j = i to (10-i+1)
    if arr(i).A > arr(i+1).A then
      tmp = arr(i).A
      tmp2=arr(i).B
      arr(i) = arr(i+1)
      arr(i+1).A= tmp
      arr(i+1).B=tmp2
    end if
  next j
next i


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 725
27 958
271 751
459
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies