Tableau en pascal
mokhtarou
-
plorytriass Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
plorytriass Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un exercice avec TURNO PASCAL que je n'ai pas pu résoudre correctement, l'énoncé et le suivant:
soit un tableau T de N entiers positifs (5<N<20), on désire écrire un programme qui permet de remplir un tableau R par les nombres de chiffres de chaque élément de T, d'afficher les éléments de R ainsi que l'entier qui admet le plus de chiffres.
NB: dans le cas ou plusieurs entiers ont le meme nombre de chiffres, le programme affiche celui quio apparait le premier dans T.
exemple: T: 54 17654 9 4532 36187 997
R: 2 5 1 4 5 3
l'entier qui possède le plus de chiffres est: 17654
merci de m'aider!!
voila mon essai: mais il ne donne pas une réponse correcte
program tablo;
uses wincrt;
var t:array [5..20] of integer;
r:array[1..100] of integer;
i,m,n,k:integer;
ch:ARRAY[1..100] OF STRING;
BEGIN
repeat
writeln('Donnez le nombres de cases');
readln(n);
until n in [5..20];
for i:=1 TO n do
BEGIN
write('T[',i,']=');
readln(t[i]);
END;
for i:=1 to n do
str(t[i],ch[i]);
for i:=1 to n do
r[i]:=length(ch[i]);
for i:=1 to n do
write(r[i]:7);
m:=0;
for i:=1 to n do
begin
for k:=1 to n do
if (r[k]>r[k+1]) and (r[k]>r[k-1]) then
m:=r[k];
if (r[n]>m) then m:=r[n]
else
if (r[1]>m) then m:=r[1];
end;
writeln(' ');
writeln('le garnd nombre de chiffres introduit est ',m);
writeln('la case qui contient ce nombres est ',R[K]);
end.
j'ai un exercice avec TURNO PASCAL que je n'ai pas pu résoudre correctement, l'énoncé et le suivant:
soit un tableau T de N entiers positifs (5<N<20), on désire écrire un programme qui permet de remplir un tableau R par les nombres de chiffres de chaque élément de T, d'afficher les éléments de R ainsi que l'entier qui admet le plus de chiffres.
NB: dans le cas ou plusieurs entiers ont le meme nombre de chiffres, le programme affiche celui quio apparait le premier dans T.
exemple: T: 54 17654 9 4532 36187 997
R: 2 5 1 4 5 3
l'entier qui possède le plus de chiffres est: 17654
merci de m'aider!!
voila mon essai: mais il ne donne pas une réponse correcte
program tablo;
uses wincrt;
var t:array [5..20] of integer;
r:array[1..100] of integer;
i,m,n,k:integer;
ch:ARRAY[1..100] OF STRING;
BEGIN
repeat
writeln('Donnez le nombres de cases');
readln(n);
until n in [5..20];
for i:=1 TO n do
BEGIN
write('T[',i,']=');
readln(t[i]);
END;
for i:=1 to n do
str(t[i],ch[i]);
for i:=1 to n do
r[i]:=length(ch[i]);
for i:=1 to n do
write(r[i]:7);
m:=0;
for i:=1 to n do
begin
for k:=1 to n do
if (r[k]>r[k+1]) and (r[k]>r[k-1]) then
m:=r[k];
if (r[n]>m) then m:=r[n]
else
if (r[1]>m) then m:=r[1];
end;
writeln(' ');
writeln('le garnd nombre de chiffres introduit est ',m);
writeln('la case qui contient ce nombres est ',R[K]);
end.
A voir également:
- Tableau en pascal
- Turbo pascal - Télécharger - Édition & Programmation
- Tableau word - Guide
- Tableau ascii - Guide
- My pascal - Télécharger - Édition & Programmation
- Trier un tableau excel - Guide
1 réponse
program tablo;
uses wincrt;
var t:array [5..20] of integer;
r:array[1..100] of integer;
i,m,n,k:integer;
BEGIN
repeat
writeln('Donnez le nombres de cases');
readln(n);
until n in [5..20];
for i:=1 TO n do
BEGIN
write('T[',i,']=');
readln(t[i]);
r[i]:=length(str(t[i]));
END;
m:=r[1];
k:=1;
for i:=2 to n do
begin
if r[i]>m then
begin
m:=r[i];
k:=i;
end;
end;
for i:=1 to n do
begin
writeln ('le ',i,'ème élément de r est :',r[i]);
end;
writeln('l''élémént le plus grand est ;',r[k]);
END.
uses wincrt;
var t:array [5..20] of integer;
r:array[1..100] of integer;
i,m,n,k:integer;
BEGIN
repeat
writeln('Donnez le nombres de cases');
readln(n);
until n in [5..20];
for i:=1 TO n do
BEGIN
write('T[',i,']=');
readln(t[i]);
r[i]:=length(str(t[i]));
END;
m:=r[1];
k:=1;
for i:=2 to n do
begin
if r[i]>m then
begin
m:=r[i];
k:=i;
end;
end;
for i:=1 to n do
begin
writeln ('le ',i,'ème élément de r est :',r[i]);
end;
writeln('l''élémént le plus grand est ;',r[k]);
END.