C bô les tablô
,
Depuis une liste alphanumérique 0, a, b par exemple, est-il possible d'obtenir l'affichage :
000 00a 00b 00c 0a0 0aa 0ab 0b0 0ba 0bb a0a a0b etc... en ayant une seule fois chaque valeur ?
Si quelqu'un a la fonction et/ou l'exemple miracle...
Merci d'avance.
3SI - Sea, Sex, Sun and Internet
C'est de l'algo de base ;) Imbriques trois for.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Salut LupusMic,
D'abord merci pour ta rép.
Ouaip, d'accord. Ca a l'air trés simple, mais l'autodidacte que je suis n'aquiert peut-être pas les connaissances dans un ordre logique, et je ne maîtrise vraiment pas "l'algo de base pour imbriquer trois for".
Lorsque j'essaie, ça mouline sans fin et ça plante.
Aurais-tu une adresse ou cette manip est expliquée ou peux-tu m'en dire un peu plus sur les variables à utiliser et leurs limites ?
3SI - Sea, Sex, Sun and Internet
le 02/08/2006 à 20:17
Bzh
bin si ça boucle indéfiniment, c'est que ta mal géré les conditions de tes for !!!
Montre nous ton code si tu veux....
Pour ce qui est des algos, y a des tutos sur Internet ! En général ils sont tournés C et C++, mais le C ressemble tellement à la syntaxe de PHP que tu ne devrais pas être trop destabilisé.
Bonne continuation !! Bye...
Salut Bzh,
Résolu le pb de moulinette en revenanant au plus simple for{ for{ for{ }}}.
<?php
$liste=array('0','a','b');
for($i=0;$i<=count($liste);$i++) {
for($j=0;$j<=count($liste);$j++) {
for($k=0;$k<=count($liste);$k++) {
$sortie=$liste[$i].$liste[$j].$liste[$k];
if(strlen($sortie)>2) echo $sortie.'';
}
}
}
?>
Et comme j'avais même des valeurs non voulues :
a, 0, a0, bb...
Utilisé strlen pour limiter.
Ca fonctionne mais ne me paraît pas trés othodoxe et il doit y avoir une méthode + propre.
Si tu connais...
Merci pour ton aide.
3SI - Sea, Sex, Sun and Internet
le 02/08/2006 à 23:02
Bzh
Bin nan, pkoi pas très othodoxe ??? C'est nikel !!!
Le cou des boucle embriquées te gène ??? Va faloir t'y habituer parce que c'est très très courant !!!
Ciao, bonne continuation...
le 02/08/2006 à 23:04
Bzh
Heu, nan pas nikel !!!!
Qu'est-ce que sa retourne lorsque c'est supérieur à 3 caratères ???
C'est bizard ça....
(Rolland) Je suis parfois un peu rustre ;)
<?php
$liste=array('0','a','b');
// $i de 0 à 3 compris : tu as donc 4 éléments (0, 1, 2 et 3 ?)
for($i=0;$i<=count($liste);$i++) {
for($j=0;$j<=count($liste);$j++) {
for($k=0;$k<=count($liste);$k++) {
$sortie=$liste[$i].$liste[$j].$liste[$k];
// Tu dis que tu sors, mais tu ne sors pas !
if(strlen($sortie)>2) echo $sortie.'';
}
}
}
?>
Si tu veux que le code soit indépendant de la taille du tableau à combiner, tu dois utiliser un algo récursif.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
B'soir,
Pfiou !
Bzh ->
Je sais pas si ça tourne avec plus de 3 caractères. En fait ce dont j'ai besoin c de combiner une liste en 3 tris : R, V, B pour les valeurs 00, 33...FF pour faire un picker-color en 216 couleurs pour proposer des horloges personnalisées en Flash gratuites (une façon d'apprendre à combiner php/Falsh tout en étant utile), sans javascript, et là, pour le picker, ça fonctionne. Mais si tu me dis que j'aurai de + en + besoin de boucles imbriquées, vais me pencher plus avant sur la question à l'occasion de ces vacances. Merci pour le souhait de bonne continuation et le même à toi ;o)
LupusMic ->
Pour le rustre no pb, je ne l'ai pas pris dans ce sens. La varaiable $sortie est peut-être mal adaptée. Elle correspond pour moi à ce qui va 'sortir' (s'afficher) sur l'écran. C pas la sortie de la boucle. Recherché des infos sur les algos, mais pas clair pour moi ne maîtrisant pas certains termes utilisés ou les interprétant mal (comme $sortie). Si t'avais une adresse de tuto ou les coordonnées d'un bouquin (mais pas de 500 pages!) où l'on peut apprendre par l'exemple, ça me permettrait d'assimiler plus vite. Merci.
Bons php et vacances.
3SI - Sea, Sex, Sun and Internet
le 04/08/2006 à 09:25
Bzh
Ah, nan !!!!!
Si tu commences à parler flash, on va moin bien s'entendre !!!!
Le flash c'est:
=>Priopriétaire
=>Un monopole (très dangereux)
=>code fermé et non standardisé
=>en gros, de la mer**
Pourquoi s'emmerder avec cette conner*** ????
On peut utiliser:
=>Gestion des évenements : Javascript
=>Animations : gifs animés
Faut arrêter avec les non standards ou c'est la fin d'un systement Internet OUVERT !!!!
Sérieux ...