p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité de passage
    Homme Profil pro
    Inscrit en
    janvier 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : janvier 2012
    Messages : 3
    Points : 4
    Points
    4

    Par défaut Choisir un élément au hasard dans un tableau

    Bonjour,
    En pascal j’utilise la fonction Randomize pour générer des nombres aléatoires, pour générer une suite ou un tableau d’éléments au hasard voici un petit programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Program Aleatoire;
    Procedure hasard(n : Integer);
       Var k, x : Integer;
       Begin
          For k := 1 To n Do
             Begin
                x := Random(99)+1;
                Write(x : 4)
             End;
             WriteLn
       End;
       Begin
          Randomize;
          hasard (15)
       End.
    Une des exécutions donnera par exemple voir image ci-dessous :

    Ma question svp est la suivante :
    Comment générer au hasard un nombre d’éléments parmi la liste ci-dessus ?
    Exemple 6 éléments parmi les 15 éléments déjà générés.
    D’avance merci.
    Images attachées Images attachées  

  2. #2
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    avril 2005
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : avril 2005
    Messages : 1 223
    Points : 1 313
    Points
    1 313

    Par défaut

    Tu fais un tableau de ton nombre d'éléments à générer au hasard... de 1 à 6 ou 0->5
    Tu refais un random(6)+1. le chiffre généré correspondra à l'indice de ton tableau...et tu vas ainsi offrir au hasard un de tes nombres.

    @+

  3. #3
    Invité de passage
    Homme Profil pro
    Inscrit en
    janvier 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : janvier 2012
    Messages : 3
    Points : 4
    Points
    4

    Par défaut Random tableau

    Merci Archimède
    Je n’arrive pas encore à matérialiser l’idée.
    Ce que j’ai compris c’est que mon tableau composer de 15 éléments à des indices allant de 0 a14 ou de 1 à 15, les indices de mon nouveau tableau de 6 cases recevront à chaque fois un Random (indice-ancien-tableau) non ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 986
    Points : 5 693
    Points
    5 693
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par contre Voir le message
    Merci Archimède
    Je n’arrive pas encore à matérialiser l’idée.
    Ce que j’ai compris c’est que mon tableau composer de 15 éléments à des indices allant de 0 a14 ou de 1 à 15, les indices de mon nouveau tableau de 6 cases recevront à chaque fois un Random (indice-ancien-tableau) non ?
    Bonsoir !

    Dans le tableau de 6 cases, tu ne mettras pas le résultat de Random mais tu y iras prendre dans le tableau de 15 cases le nombre se trouvant à la place indiquée par Random.

    Par exemple, si Random=3, tu vas prendre le 3e élément du tableau de 15 cases, puis tu le places dans la première case vide de ton tableau de 6, jusqu'à ce que celui-ci soit plein.

    J'espère que cette reformulation t'aidera.
    L'Art est long et le Temps est court.

  5. #5
    Invité de passage
    Homme Profil pro
    Inscrit en
    janvier 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : janvier 2012
    Messages : 3
    Points : 4
    Points
    4

    Par défaut Choisir parmi Random

    Merci à vous l’idée a été comprise enfin voici un bricolage que j’essayerais de perfectionner prochainement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Program Aleatoire;
    type tableau=array[0..99]of integer;
    procedure hasard( var t,t1:tableau;n:integer);
       Var k,z,j : Integer;
       Begin
          writeln('Premier tableau');
          For k := 0 To n-1 Do
             Begin
                t[k]:=random(9)+1;
                Write(t[k] : 4)
             End;
             WriteLn;
          writeln('deuxieme tableau');
          for j:=0 to 5 do
             begin
                z:=random(n);
                t1[j]:=t[z];
                write(t1[j]:4);
             end;
             writeln;
       End;
       var t,t1:tableau;
           n:integer;
       Begin
          n:=10;
          Randomize;
          hasard (t,t1,n)
       End.
    Images attachées Images attachées  

  6. #6
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 986
    Points : 5 693
    Points
    5 693
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par contre Voir le message
    Merci à vous l’idée a été comprise enfin voici un bricolage que j’essayerais de perfectionner prochainement:
    Il est très bien, ce programme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for j:=0 to 5 do
    begin
      z:=random(n);
      t1[j]:=t[z];
      ...
    end;
    L'Art est long et le Temps est court.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. verifier si un élément est contenu dans un tableau
    Par ikuzar dans le forum Débuter
    Réponses: 1
    Dernier message: 03/05/2012, 18h53
  2. Choisir un element au hasard dans une ArrayList
    Par zemzoum89 dans le forum Débuter
    Réponses: 5
    Dernier message: 19/11/2010, 22h10
  3. Réponses: 5
    Dernier message: 20/08/2006, 17h05
  4. Choisir un élément au hasard dans un tableau
    Par ousunas dans le forum Langage
    Réponses: 1
    Dernier message: 25/02/2006, 19h50
  5. Choisir un fichier au hasard dans un répertoire
    Par M.Dlb dans le forum Linux
    Réponses: 2
    Dernier message: 09/12/2004, 22h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo