Remplissage aléatoire

Fermé
hold_on - 17 nov. 2012 à 23:26
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 - 19 nov. 2012 à 19:43
randomize;
for i:=1 to n do
t[i]:=random(999);
for i:=1 to n do
write(t[i]:4);

je veux que ces entiers soient entre 100 et 999 non entre 0 et 999
comment faire

1 réponse

nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
17 nov. 2012 à 23:36
Il suffit de faire t[i]:=random(899) +100...
0
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
18 nov. 2012 à 00:05
Comme ça, est-ce que le 899 peut-être choisi ? Il me semble que non...
random(900)+100 serait sûrement mieux.
0
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
18 nov. 2012 à 00:16
Oui absolument, c'est bien random(900)+100!
0
mercii :) et concernant le remplissage aléatoire par des caractères alphabétiques comment faire ???
procedure remplissage(var t:tab;n,i:integer);
begin
if i<=n then
begin
t[i]:=chr(random(121)+97);
remplissage(t,n,i+1);
end;
end; lors de l'affichage il y a des symboles aussi dans le tableau
0
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
19 nov. 2012 à 19:43
Oui bien sûr c'est que tu laisse trop de marge, il faut mettre:
t[i]:=chr(random(26)+97); 

pour ne prendre en compte que les caractères, de 0 à 25 donc...
0