OVH Cloud OVH Cloud

au tableau !

13 réponses
Avatar
jc2nantes
Bonjour,

J'ai un tableau par exemple

dim z(0 to 20) as string

chaque valeur différe mais les doublons sont possibles

z(0) = "a"
z(1) = "a"
z(2) = "b"
etc...

comment faire pour compter le nombre de valeurs différentes (le total - les
doublons) ??? 2 dans l'exemple

merci

3 réponses

1 2
Avatar
jc2nantes
merci à tous, je sais maintenenant ce que je vais faire ce week end!

jc
Avatar
Pascal B.
9261 cycles pour trier 21 éléments !!!
Si j'étais ton prof d'info et tu me présentes "ça" à un contrôle , t'aurais mon pied au cul !

Pascal B.

"LE TROLL" <le wrote in message news:
| Salut,
|
| Si tu aimes le sport, tu as aussi le tri bulle,
| principe:
|
| dim trans as string
| dim i as long
| dim j as long
| dim k as long
| for k = 0 to 20
| for i = 0 to 20
| for j = 0 to 20
| if i = j then exit for
| if z(i) > z(j) then
| trans = z(i)
| z(i) = z(j)
| z(j) = trans
| end if
| next j
| next i
| next k
| j = 1
| compare = z(0)
| for i = 1 to 20
| if compare <> z(i) then
| compare = z(i)
| j=j+1
| end if
| next i
| i = 20
| k = i - j
| msgbox "total général = " & i & vblf & "total sans doublons
| = " & j
| -------
| OBS :
| On peut sans doute améliorer, et c'est non testé, je l'ai
| fait de tête, il y a peut être quelques coincements et
| réglages à faire...
| -------
|
| "jc2nantes" a écrit dans le
| message de news: %
| > Bonjour,
| >
| > J'ai un tableau par exemple
| >
| > dim z(0 to 20) as string
| >
| > chaque valeur différe mais les doublons sont possibles
| >
| > z(0) = "a"
| > z(1) = "a"
| > z(2) = "b"
| > etc...
| >
| > comment faire pour compter le nombre de valeurs
| > différentes (le total - les
| > doublons) ??? 2 dans l'exemple
| >
| > merci
| >
| >
|
|
Avatar
LE TROLL
Lol, ne t'attaches pas stricto sensu, ce n'est qu'un exemple
pour montrer le principe, évidemment qu'en cherchant un peu,
il est possible de faire beaucoup mieux, et alors?
Ceci étant dit, il ne s'agit pas d'un tri mais d'un tri
suivi d'un classement, donc 2 tris
In fine, justement, je n'ai pas tenu compte des cycles car
avec 21 éléments, on s'en moque tellement ça va vite
(quelques centièmes de seconde en 300 Mhz et 512 MoRam),
mais si j'en avais eu 65.000 à trier, là j'aurais tenu
compte du temps, je vois bien quand c'est trop long; je ne
suis pas aveugle :o)
Quand à ton prof qui donne des coups de pieds, ben, dans 20
ans tu feras davantage la différence entre l'académique et
la pratique, car ici, si tu avais pris 2 objets list pour
trier, tu aurais mis plus de temps que ma boucle de 9261
tours, donc tu vois, tout est relatif, calme, relativise :o)
--------------

"Pascal B." a écrit dans le
message de news: %

9261 cycles pour trier 21 éléments !!!
Si j'étais ton prof d'info et tu me présentes "ça" à un
contrôle , t'aurais mon pied au cul !

Pascal B.

"LE TROLL" <le wrote in message
news:
| Salut,
|
| Si tu aimes le sport, tu as aussi le tri bulle,
| principe:
|
| dim trans as string
| dim i as long
| dim j as long
| dim k as long
| for k = 0 to 20
| for i = 0 to 20
| for j = 0 to 20
| if i = j then exit for
| if z(i) > z(j) then
| trans = z(i)
| z(i) = z(j)
| z(j) = trans
| end if
| next j
| next i
| next k
| j = 1
| compare = z(0)
| for i = 1 to 20
| if compare <> z(i) then
| compare = z(i)
| j=j+1
| end if
| next i
| i = 20
| k = i - j
| msgbox "total général = " & i & vblf & "total sans
doublons
| = " & j
| -------
| OBS :
| On peut sans doute améliorer, et c'est non testé, je
l'ai
| fait de tête, il y a peut être quelques coincements et
| réglages à faire...
| -------
|
| "jc2nantes" a écrit dans
le
| message de news:
%
| > Bonjour,
| >
| > J'ai un tableau par exemple
| >
| > dim z(0 to 20) as string
| >
| > chaque valeur différe mais les doublons sont possibles
| >
| > z(0) = "a"
| > z(1) = "a"
| > z(2) = "b"
| > etc...
| >
| > comment faire pour compter le nombre de valeurs
| > différentes (le total - les
| > doublons) ??? 2 dans l'exemple
| >
| > merci
| >
| >
|
|




1 2