Comment randomizer une liste ? une nuit a plancher dessus et rien !!

Le forum de l'Annuaire Francophone des Scripts CGI: CGI : Problème avec un script: Comment randomizer une liste ? une nuit a plancher dessus et rien !!

Anonyme

dimanche 10 décembre 2000 - 12h22
Voila le code que j'ai utiliser.
Le resultat : j'ai des doublons alors que ce n'est pas le but.
Bah si un Programmeur endurci peut m'aider...
email : florian.d@nyxou.com

$lacategorie=$FORM{'CATEGORIE'};

open (DATA,"../data/$lacategorie.txt") || die "Impossible douvrir le fichier : $!\n";
@texte=<DATA>;
close (DATA) || die "$!\n";

$nbre=1;
foreach $ligne (@texte)
{
$nbre++;
}

$ok=0;
$total=0;

open (DATAVISU,">../data/$lacategorie.visu.txt") || die "Impossible douvrir le fichier : $!\n";

while ($ok == 0)
{
$pass1=0;
while ($pass1 == 0)
{
$rand = int (rand $nbre);

$toutoil=@toutlesno+1;
print "Pic$toutoil -- ";

if ($toutoil == 0)
{
$pass1=1;
}
else
{
$pass1=1;
for ($i ; $i<=$toutoil ; $i++)
{
if ("$toutlesno[$i]" eq "$rand") { $pass1=0; }
}
}
}

push @toutlesno,$rand;

$situation=1;
foreach $ligne (@texte)
{
if ($situation == $rand)
{
print DATAVISU "$ligne";
$total++;
}
$situation++;
}
if ($total == $nbre) { $ok=1; }
}

close (DATAVISU) || die "$!\n";


Ajouter un message


Ceci est une zone publique. Si vous n'avez pas de compte, entrez votre nom dans le champ "Identificateur" et laissez le mot de passe vide. Votre adresse E-mail est facultative.
Identificateur :  
Mot de passe :
E-mail :
Poster "anonymement"