Hei
Miten saisin aakkostettua Sisalto(500) sisaltöä
Public Sisalto(500) as Stru_Sisalto Public Structure Stru_Sisalto dim A as string dim B as string dim c as string dim d as date dim e as integer end structure
Miten saan järjestettyä A:n mukaan aakkosjärjestykseen ja pystynkö samalla myös järjestämään samalla aikajärjestykseen D:n mukaan?
Miten saan siirrettyä sisallon tiedot johonkin Arrayhin? (Tää array on muulle outoa)
Ei hyväksynyt, että
dim testiArray() as stru_Sisalto for i=1 to 500 if sisalto(i).a <> "" then testiArray=sisalto(i) next i
Multa loppu nyt ymmärrys voisiko joku vähän jeesata. Mikä array räpellyksessäni mätää tai onko toista tapaa järjestää sisalto(500) sisaltöä?
Yksinkertainen lajittelualgoritmi sisältää kaksi sisäkkäistä silmukkaa: ulompi käy läpi kaikki taulukon indeksit, ja sisemmässä etsitään taulukon loppuosasta kyseiseen kohtaan kuuluva arvo. Seuraava koodi esittää lajittelun periaatteen, mutta vertailuehdon joudut tekemään itse.
' Käydään läpi kaikki kohdat paitsi viimeinen. For i = 1 To 499 ' Käydään läpi myöhemmät kohdat; jokin niistä voi kuulua tähän. For j = i+1 To 500 ' Jos taulukon myöhemmässä kohdassa (j) on arvo, joka kuuluu ennen ' tutkittavaa arvoa (i), vaihdetaan nämä keskenään. Tällä tavalla ' kohtaan (i) päätyy lopulta oikea arvo. Vertailun joudut muuttamaan. If sisalto(j) > sisalto(i) Then ' Vaihdetaan i ja j apu = sisalto(i) sisalto(i) = sisalto(j) sisalto(j) = apu End If Next j Next i
jokke568 kirjoitti:
Miten saan järjestettyä A:n mukaan aakkosjärjestykseen ja pystynkö samalla myös järjestämään samalla aikajärjestykseen D:n mukaan?
Teet sopivan vertailijan
Private Class Srtu_Ad_Comparer Implements IComparer(Of Stru_Sisalto) Public Function Compare(ByVal x As Stru_Sisalto, ByVal y As Stru_Sisalto) As Integer Implements System.Collections.Generic.IComparer(Of Stru_Sisalto).Compare Compare = String.Compare(x.A, y.A) If Compare = 0 Then Compare = Date.Compare(x.d, y.d) 'Jos A:t oli samat, menee päivän mukaan End Function End Class
ja kutsut Sort -metodia:
Sisalto.Sort(Sisalto, New Srtu_Ad_Comparer())
Aihe on jo aika vanha, joten et voi enää vastata siihen.