Tableau en pascal [Résolu/Fermé]

Signaler
Messages postés
41
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
22 janvier 2011
-
Messages postés
2
Date d'inscription
lundi 30 avril 2012
Statut
Membre
Dernière intervention
26 janvier 2015
-
Bonjour,
j'ai besoin d'aide, pouvez vous m'envoyer des exemples de creation de tableau en pascal,

j'essaye de creer un tableau 5 par 5, comprenant seulement les chiffres de 1 a 3 qui sont donner alleatoirement par le system, en plus le program doit afficher combien de fois chaque chiffres apparait dans le tableau.

Merci pour les exemples et une petite explication pour que je comprenne mieux.

4 réponses

Messages postés
15934
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 juillet 2020
2 629
program lowpien;

type tableau=array[1..5,1..5] of integer;
     suivi=array[1..3] of integer;

procedure remplir(var t:tableau; var s:suivi);
var i,j,n:integer;
begin
s[1]:=0; s[2]:=0; s[3]:=0;
for i:=1 to 5 do
for j:=1 to 5 do
    begin
    n:=random(3)+1; // random(3) renvoie un nombre entre 0 et 2 d'où le +1
    t[i,j]:=n;
    inc(s[n]);
    end;
end;

var s:suivi; t:tableau; n:integer;
begin
randomize; // réinitialise le générateur de nombre aléatoire
remplir(t,s);
for n:=1 to 3 do
    writeln('occurence des ',n,' dans le tableau = ',s[n]);
readln;
end.

9
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60172 internautes nous ont dit merci ce mois-ci

Messages postés
41
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
22 janvier 2011

Bonjour merci bien pour les informations, j'ai essayer l'exemple, il donne le nombre de fois que chaque chiffre apparait, mais il n'affiche pas le tableau...je travaille la dessus ....et puis c'est quoi le : inc(s[n]); je connais pas cette fonction.
Messages postés
15934
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 juillet 2020
2 629
var s:suivi; t:tableau; i,j,n:integer;
begin
randomize; // réinitialise le générateur de nombre aléatoire
remplir(t,s);
for i:=1 to 5 do
    begin
    for j:=1 to 5 do
        write(t[i,j],' ');
    writeln;
    end;
for n:=1 to 3 do
    writeln('occurence des ',n,' dans le tableau = ',s[n]);
readln;
end.
inc(n) est équivalent à n:=n+1 (de même dec(n) à n:=n-1)
Messages postés
15934
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 juillet 2020
2 629
Remarque : il est possible d'améliorer l'aléatoire et éviter les "effets de bords".

En effet on a :
n:=random(3)+1; // random(3) renvoie un nombre entre 0 et 2 d'où le +1
Et on pourrait améliorer avec
n:=random(6561) mod 3+1; // mod 3 renvoie un nombre entre 0 et 2 d'où le +1
Messages postés
2
Date d'inscription
lundi 30 avril 2012
Statut
Membre
Dernière intervention
26 janvier 2015

c'est la meilleur solution 100 % :))))))

program aff_inverse ;
uses wincrt;
type
tab=array[1..100]of integer;
var
i,j,n,pas:integer ;
t:tab;
begin
writeln('saisir la taille du tableau');
readln(n);
for j:=1 to n do
begin
writeln('saisir l element n ',j );
readln(t[j]);
end;

for i:=n downto 1 do
begin
write(t[i],'/');
end;
end.

merci beaucoup de mettre vos opinions ^^

je né strictement rien pigé de se ke vous avez dit désoler
Messages postés
330
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
10 mars 2009
12
salut
ça peut peut etre t 'aider

http://www-ipst.u-strasbg.fr/pat/program/pascal11.htm
Messages postés
41
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
22 janvier 2011

Merci pour toute les informations, ca m'aide beaucoups et ca repond a mes question...