Kabcorp Utilisateur confirmé: Rang **
Messages : 315 Localisation : Savoie Projet Actuel : trop...
| Sujet: Tri aléatoire =) Mer 22 Mai 2013 - 14:53 | |
| Yop! Ca fais un petit moment que je ne suis pas venu sur le CBNA car tout roulait pour moi niveau syntaxes mais la... Mon souci en version simplifié: Comment réaliser un tri (Aléatoire) de 9 chiffres dans un tableau de 3x3? Exemple: random() random() random() Mais surtout comment comment dire simplement au programme que tel chiffre est déja utilisé dans une case précédente donc GOTO NEXT merci de vos réponses! bye |
|
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Tri aléatoire =) Mer 22 Mai 2013 - 15:49 | |
| |
|
hofmeister Bavard
Messages : 109
| Sujet: Re: Tri aléatoire =) Mer 22 Mai 2013 - 15:59 | |
| En moins performant mais plus simple, tu peux aussi utiliser une map, initialiser ses cases à 0, puis faire une boucle qui n'ajoute la valeur que si la case est égale à 0. |
|
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Tri aléatoire =) Mer 22 Mai 2013 - 16:04 | |
| Si tu veux pas te prendre la tête, tu crée une liste avec les éléments de 1 à 9, tu la mélange, et tu la met direct dans ton tableau 2d. Pour cela: for(i=0; i<9; i+=1) matrix[i mod 3, i div 3] = ds_list_find_value(list, i) |
|
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Tri aléatoire =) Mer 22 Mai 2013 - 16:23 | |
| onilink_ : ça devient du Goldberg là :p L'algorithme de Durstenfeld implémenté : - Code:
-
grille[0, 0] = 1; for(i = 1; i < 9; i += 1) { j = irandom_range(0, i); grille[i mod 3, i div 3] = grille[j mod 3, j div 3]; grille[j mod 3, j div 3] = i + 1; } |
|
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Tri aléatoire =) Mer 22 Mai 2013 - 16:28 | |
| |
|
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Tri aléatoire =) Mer 22 Mai 2013 - 16:51 | |
| Bah pas besoin de sortir l'artillerie lourde pour remplir un tableau avec les nombres de 1 à 9 :p |
|
Kabcorp Utilisateur confirmé: Rang **
Messages : 315 Localisation : Savoie Projet Actuel : trop...
| Sujet: Re: Tri aléatoire =) Mer 22 Mai 2013 - 17:05 | |
| Merci a vous! j'éssairais tout ca ce soir |
|
Kabcorp Utilisateur confirmé: Rang **
Messages : 315 Localisation : Savoie Projet Actuel : trop...
| Sujet: Re: Tri aléatoire =) Jeu 6 Juin 2013 - 14:19 | |
| - Code:
-
var G,G0,W,H,X,X0,Y,Y0; G = argument0 W = ds_grid_width(G) H = ds_grid_height(G) for (X=0;X<W;X+=1) { for (Y=0;Y<H;Y+=1) { X0=floor(random(W)) Y0=floor(random(H)) G0=ds_grid_get(G,X,Y) ds_grid_set(G,X,Y,ds_grid_get(G,X0,Y0)) ds_grid_set(G,X0,Y0,G0) } }
Impecable merci |
|
Contenu sponsorisé
| Sujet: Re: Tri aléatoire =) | |
| |
|