D:=random(100) ??? aide sur pascal !!!

salut
svp pouvez-vous m'aidez ??
d'aprés le cours la fonction D:=random(100) sert a choisir un entier entre 0 et 99 mais dans ce petit program D prend toujours 0 alors ou est le prob et merci a vous tous :

program ex;
var D:integer;
begin
D:=random(100);
writeln(D);
readln;
end.

et mercii

7 réponses

  1. program ex;
    var D:integer;
    begin
    Randomize;
    D:=random(100);
    writeln(D);
    readln;
    end.
    1. program aléa;
      uses wincrt;
      var d:integer;
      begin
      repeat
      d:=random(100);
      until (d in[0..99])
      write('the number selected for the pc is:',d);
      end.
      1. merci pour ta réponse mais j'aimerai bien autre réponse svp et merci
        1. Salut

          Si c'est comme en C tu dois initialiser une graine pour le générateur aléatoire. Si tu n'as pas de contrainte sur le langage fait plutôt du C, car pascal c'est un peu dépassé...

          Bxflash
        2. begib
          randomize;
      2. merci pour vos reponse

        et merci pour random
        begin
        randomize;
        a reglé le prob merci a tous
        1. Bsr! j'aimerais qu'une personne m'explique ce fait cette instruction:
          for i := 1 to 10 do
          tableau[i] := random(37) + 13;
          Je sais que random(37) me donne des chiffres aléatoires entre 0 et 36 mais ce qui m'chappe c'est +13. Merci d'avance!
          1. bnsoir yaobo84,
            en fait random(37)+13 te donne les chiffres compris entre 13 et 50 ( le 37 vient de 50-13)
            voilà !
        2. Bonsoir as-mayes! y a-t-il possibilité d'ecrire une fonction en pascal qui puisse me retrouner une matrice à 2 dimention(par exemple me retourner la somme ou le produit de deux matrice)?
          1. Modérateur
            Si c'est comme en C tu dois initialiser une graine pour le générateur aléatoire. Si tu n'as pas de contrainte sur le langage fait plutôt du C, car pascal c'est un peu dépassé...