Pythales a écrit:Si j'ai compris ton problème :
Tu définis un tableau tab à 10 éléments.
Tu initialises ton tableau à 0.
Chaque fois que tu tires un nombre I parmi les N tu fais tab(I)=1.
Il est facile ensuite d'exploiter le tableau.
Ben314 a écrit:Salut,
Vu ton problème qui consiste, si j'ai bien compris, à compter combien de valeurs différentes sont dans ton tableau, il y a des tonnes de méthodes.
- La plus simple (et la plus rapide) est celle proposée par Pythales : tu parcours une fois le tableau et tu "coche" (avec des 0/1) dans un deuxième tableau ceux qui sont apparus.
- Si tu ne veut absolument pas utiliser de deuxième tableau, tu peut faire 2 boucles imbriquées : La première sur N qui est la valeur dont tu cherche la présence/absence dans ton tableau et la deuxième qui parcours le tableau à la recherche du N en question. Lorsque éventuellement tu trouve le N, tu met une variable "Trouvé" à 1 (qui était initialisée à 0 avant de commencer la deuxième boucle=. À la fin de la deuxième boucle, tu ajoute à un compteur 'NbTrouvé" la valeur de la variable "Trouvé".
- (Encore plus bourrin...) Tu trie ton tableau du plus petit au plus grand puis, une fois trié, tu le parcours une seule fois en regardant combien de fois tu as T[n+1]T[n].
De toute façon, à mon sens, quand tu fait de la programmation/algorithmique avant d'aller chercher des instructions "complexes" style MAT que tu vas utilise comme des "boites noires" (i.e. en ne sachant absolument pas comment elles fonctionnent), il me semble que le premier truc à se demander, c'est "à la main (i.e. sans ordi), je ferais comment ?"
Donc, si on te filait un papier avec une liste d'une centaine de nombres en vrac entre 1 et 100, tu ferais comment (à la main) pour trouver au plus vite les nombres qui ne sont pas dans la liste ?
Perso, je pense que je ferais... ce que préconise Robic...
- Ton randomize, il faut le mettre AVANT les tirage au hasard, sinon il ne sert à rien (en résumé succin, le "randomize", il remue le sac dans lequel on va tirer des truc au hasard : le sac, il vaut mieux le remuer AVANT les tirages...)zeoioui a écrit:- DIM TIRAGE (N)
- FOR I = 1 TO N : TIRAGE (I) = 100 + INT (RND*10)
- RANDOMIZE
Par exemple,est-ce qu'on peut éviter les tableaux ou boules imbriquées pour trouver mes trois Nos absents via une formule qui analyse directement tous les n précédents à n-1 ?
zeoioui a écrit:Pytales, Robic, Ben et Deltab,
Merci à vous tous pour toute cette aide;......
Autre chose, j'ai pas bien compris Deltab quand tu m'as dit :
" On peut écrire un programme que simule un pas négatif.
Si le nombre d'itérations dans la boucle est N, on lira le tableau à l'envers en posant K=N+p-I, I étant l'indice de la boucle et p le pas effectif (>0), on lit l'élément T(K) au lieur de T(I). Cette méthode nécessite que les vraies valeurs des éléments du tableau soient connues. "
Que veux-tu dire quand tu dis : " Cette méthode nécessite que les vraies valeurs des éléments du tableau soient connues. "
A plus. Zéoioui.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 6 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :