Oppure

Loading
06/06/08 6:20
mash_mash
Ciao a tutti , rieccomi qua con un altro per me rompicapo.
Ho un numero tot di variabili(ne usero' solo 5 nel mio esempio , ma possono essere di piu') contenenti numeri interi , vorrei riassumere le variabili iniziali per valori uguali ed in ordine decrescente, be se vi faccio un esempio penso capirete meglio :

es.
a=100 b=50 c=75 d=100 e =50

Vorrei ottenere quanto segue :

x= 2 x 100'(valori di a , d)
y= 1 x 75 '(valore di c)
z= 2 x 50 '(valore di b , e)

Grazie anticipatemente.
aaa
06/06/08 8:04
gantonio
Non si e' capito ... cosa significa "riassumere"?

Devi fare dei calcoli (totali?) ... ?

E poi, dato che non sai quante sono le variabili, non usare le variabili semplici ma un vettore, magari dinamico ...
aaa
06/06/08 8:17
mash_mash
Hai ragione perfettamente , invece di riassumere davrei dovuto usare il termine raggruppare.
Excuse me!
No , non devo fare nessun calcolo , ma solo sapere quanti e quali sono i valori uguali inserirli in un'altra variabile che andra' poi in stampa con i totali come da esempio.
Avresti la bonta' di farmi un esempio ?
aaa
06/06/08 11:07
antometal
oltre a usare il vettore caricato con i numeri dovresti usare un altro vettore contenente un record con 2 variabili: una che contiiene il numero che conti e l' altra che contiene il contatore di quel numero...

facendo 2 for annidati è facilmete fattibile

aaa
06/06/08 11:13
mash_mash
Mi faresti un esempio pratico perfavore ?
aaa
06/06/08 11:29
antometal
vettore con numeri (nome:Num indice:I):
num 1 4 4 4 1 3 4 3 1 3
i 0 1 2 3 4 5 6 7 8 9
1x3
4x4
3x3

vettore con record (nome:Cont indice:J):
c as integer
n as integer

n 1 4 3
c 3 4 3
j 1 2 3


for i=0 to ubound(num)
for j=0 to ubound(cont)
if num(i)=cont(j).n then cont(j).c=cont(j).c+1
next j
next i
aaa
06/06/08 11:37
antometal
ho rivisto il codice ed è sbagliato
o meglio incompleto

    For i = 0 To UBound(num)
            For j = 0 To UBound(cont)
                    If num(i) = cont(j).n Then
                        cont(j).c = cont(j).c + 1
                    Else
                        cont(j + 1).n = num(i)
                        cont(j + 1).c = 1
                    End If
            Next j
    Next i


ora dovrebbe andare
aaa
06/06/08 11:38
antometal
no scusa nemmeno così va
lo prova io poi posto
scusa ancora
aaa