Elimination de repetition
Fermé
mb42
Messages postés
432
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
14 janvier 2014
-
1 nov. 2009 à 13:07
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 - 2 nov. 2009 à 13:25
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 - 2 nov. 2009 à 13:25
A voir également:
- Elimination de repetition
- Blue screen à répétition - Guide
- Comment enlever la répétition des messages sur samsung - Forum Samsung
- Répétition sonnerie sms samsung - Forum Samsung
- Détecter répétition word ✓ - Forum Word
- Désactiver répétition touche clavier windows 11 - Guide
7 réponses
Dynamix
Messages postés
202
Date d'inscription
dimanche 22 mars 2009
Statut
Membre
Dernière intervention
30 avril 2011
76
1 nov. 2009 à 13:16
1 nov. 2009 à 13:16
Tu fais une méthode estPresent(n) pour savoir si un entier est présent dans ta matrice.
Ensuite tu pars de la fin de ta matrice et tu parcours tous les éléments.
Pour chaque élément tu parcours tous les éléments se trouvant avant, si alors tu trouves un élément égal à l'élément parcouru en cours alors tu mets un zéro.
Mais c'est qu'une proposition doit y avoir plus simple.
(J'ai pas été très clair peut être...)
Ensuite tu pars de la fin de ta matrice et tu parcours tous les éléments.
Pour chaque élément tu parcours tous les éléments se trouvant avant, si alors tu trouves un élément égal à l'élément parcouru en cours alors tu mets un zéro.
Mais c'est qu'une proposition doit y avoir plus simple.
(J'ai pas été très clair peut être...)
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
1 nov. 2009 à 13:35
1 nov. 2009 à 13:35
Le plus simple (seulement 2 parcours de la matrice et un tableau de 10 booléens (tous faux au départ)) :
- 1er parcours-> booléen[valeur de l'élément de la matrice] = vrai,
- 2ème parcours-> un seul test: si booléen[valeur de l'élément de la matrice] est vrai, alors valeur de l'élément de la matrice vaut zéro.
On peut faire un seul parcours mais c'est un peu plus complexe.
Bonne continuation.
- 1er parcours-> booléen[valeur de l'élément de la matrice] = vrai,
- 2ème parcours-> un seul test: si booléen[valeur de l'élément de la matrice] est vrai, alors valeur de l'élément de la matrice vaut zéro.
On peut faire un seul parcours mais c'est un peu plus complexe.
Bonne continuation.
mb42
Messages postés
432
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
14 janvier 2014
7
1 nov. 2009 à 13:52
1 nov. 2009 à 13:52
tout d'abord les valeur ne son pas de 0-->9
il peuvent etre 400,66,8.....
et la solution ne dois pas contenir des methodes car pour le moment on traite juste la matrice avec des parcours simple
avec l'utilisations des structures repetetives seulement (" for,while,do while)
pouver m'aidez SVP
il peuvent etre 400,66,8.....
et la solution ne dois pas contenir des methodes car pour le moment on traite juste la matrice avec des parcours simple
avec l'utilisations des structures repetetives seulement (" for,while,do while)
pouver m'aidez SVP
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
120
1 nov. 2009 à 14:40
1 nov. 2009 à 14:40
Avec les conditions que tu pause là, cette solution parait très débile, mais elle doit marcher:
x = 3 'Ou une autre taille (nombres colonnes) y = 3 'Ou une autre taille (nombres lignes) tableau(x, y) 'La matrice for i = 1 to x for j = 1 to y if (i > 1) or (j>1) then ' La case précedente: if (i = 1) then tempI = x tempJ = j - 1 else if (j = 1) then tempJ = y tempI = i - 1 else tempI = i - 1 tempJ = j - 1 end if for m = 1 to (tempI) for n = 1 to (tempJ) if(tableau(m, n) = tableau(i, j)) then tableau(i, j) = 0 next next end if next next
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
120
2 nov. 2009 à 13:25
2 nov. 2009 à 13:25
J'ai fait une erreur, le parcours (tempI, tempJ) est plus compliqué de ce que j'ai pensé.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mb42
Messages postés
432
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
14 janvier 2014
7
1 nov. 2009 à 14:50
1 nov. 2009 à 14:50
je ne connait pas ce language
je veux juste language c
je veux essayer de le traduire en c
je veux juste language c
je veux essayer de le traduire en c
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
120
1 nov. 2009 à 15:00
1 nov. 2009 à 15:00
C'est le .vbs, je pense qu'il est très compréhensible, c'est pratiquement de l'anglais et c'est pour ça que je l'ai mis. Malheureusement, j'ai de compilateur c installé pour le moment.
Bon Courage.
Bon Courage.
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
1 nov. 2009 à 15:42
1 nov. 2009 à 15:42
l'idée générale :
avoir un tableau (disons : "DejaFait") qui contiendra les valeurs déjà utilisées. Au départ il est vide (ou plutot il n'y a que des zéros partout). Il faut que ce tableau soit aussi grand que le nombre de valeurs dans la matrice (9 pour une matrice 3x3).
Tu gardes trace du nombre d'élément déjà utilisé (disons N). au début il est zéro.
Ensuite tu commences à boucler sur chaque élément de la matrice, dans l'ordre que tu le souhaites.
Pour chaque élément de la matrice il faut faire ceci :
Chercher avec une boucle allant de 0 à N-1 dans les valeurs de "DejaFait" pour voir si l'élément que tu regardes est déjà dedans.
Si pendant cette recherche tu tombes dessus, alors tu met 0 la place dans la matrice.
Si par contre il n'est pas deja dans la liste DejaFait, alors tu l'ajoutes dans DejaFait[N], et ensuite tu augmentes
N de 1.
avoir un tableau (disons : "DejaFait") qui contiendra les valeurs déjà utilisées. Au départ il est vide (ou plutot il n'y a que des zéros partout). Il faut que ce tableau soit aussi grand que le nombre de valeurs dans la matrice (9 pour une matrice 3x3).
Tu gardes trace du nombre d'élément déjà utilisé (disons N). au début il est zéro.
Ensuite tu commences à boucler sur chaque élément de la matrice, dans l'ordre que tu le souhaites.
Pour chaque élément de la matrice il faut faire ceci :
Chercher avec une boucle allant de 0 à N-1 dans les valeurs de "DejaFait" pour voir si l'élément que tu regardes est déjà dedans.
Si pendant cette recherche tu tombes dessus, alors tu met 0 la place dans la matrice.
Si par contre il n'est pas deja dans la liste DejaFait, alors tu l'ajoutes dans DejaFait[N], et ensuite tu augmentes
N de 1.