|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2004
Messaggi: 173
|
Riordidare Array (VB6)
Ho il seguente problema e spero che qualcuno di voi mi aiuti:
ho un array di variabili integer che dovrei riordinare in base al valore da loro contenuto, dal più piccolo al più grande. Come posso fare senza conoscere nemmeno le dimensioni dell'array. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
è un pò difficile ordinare un array senza la dimensione. E poi cmq la dimensione dell'array la devi sapere per forza dato che te sei quello che stai scrivendo il programma e poi l'array non può variare di dimensione nell'esecuzione del programma.
Al massimo può esistere il problema ho un array lungo N ma io ne utilizzo solo n<N e voglio ordinare solo questa parte. ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jan 2004
Messaggi: 173
|
Mi sono spiegato male facendo confusione tra lunghezza e dimensioni. Ovviamente io non conosco la lunghezza. Faccio un esempio:
Array(0)=5 Array(1)=3 Array(2)=4 Come faccio ad ottenere questo Array_ordinato? Array_ordinato(0)=3 Array_ordinato(1)=4 Array_ordinato(2)=5 |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
ma per ordinare un array ci sono vari modi x selezione o per quicksort.
Aspè che adesso ti converto il codice da c a vb. E poi ti posto le soluzioni. ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Metodo per selezione: (non è il migliore)
Codice:
Option Explicit
Private Sub Form_Load()
Dim iValue(10) As Integer
Dim i As Integer, N As Integer, K As Integer, j As Integer, supp As Integer
N = 3
iValue(0) = 5
iValue(1) = 3
iValue(2) = 4
For i = 0 To N - 2
K = i
For j = i + 1 To N - 1
If iValue(K) > iValue(j) Then
K = j
End If
Next j
If K <> i Then
supp = iValue(i)
iValue(i) = iValue(K)
iValue(K) = supp
End If
Next i
Text1.Text = Str(iValue(0))
Text2.Text = Str(iValue(1))
Text3.Text = Str(iValue(2))
End Sub
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
metodo per quicksort (il migliore tra i due)
te lo metto in c non mi ricordo + come si faceva a far passare gli array Codice:
void Quicksort (int iA[], int iInf, int iSup){
int iPer, i,j;
if (iInf < iSup){
iPer = iA[iInf];
i = iInf + 1;
j = iSup - 1;
while (iA[i]<iPer) i++;
while (iA[j]<iPer) j++;
while (i<j){
swap (iA[i], iA[j]);
do{
i++;
} while (iA[i]<iPer);
do{
j--;
} while (iA[i]<iPer);
}
iA[iInf] ) iA[j];
iA[j] = iPer;
Quicksort (iA,iInf,j-1);
Quicksort (iA,j+1,iSup);
}
}
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Jan 2004
Messaggi: 173
|
Mille grazie
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
di niente
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:06.



















