Tri d'un tableau en pascal

Fermé
abir.1 Messages postés 21 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 9 février 2008 - 13 janv. 2008 à 18:47
 verano - 7 avril 2009 à 23:43
Bonjour,
Bonjour, j'ai un probleme tres difficile , il m'enerve , et en plus aucun de mes colegues possede une solution
svp aidez moi pour resoudre le probleme suivant:

On veut ecrire un programme qui permet de remplir un tablea T par n enties positifs triés dans l'ordre crissant,
puis d'afficher les entiers manquant entre le premier et le dernier element de ce tablea.

example: si n=7 et si T est le tableau suivant:
5 6 8 9 10 12 15
le programme affichera: les entiers manquants sont 7,11,13,14


et MERCI d'avance....

s'il vous plais en lenguage pascal
A voir également:

8 réponses

abir.1 Messages postés 21 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 9 février 2008 8
13 janv. 2008 à 19:05
le tableau est supposé etre trié
4
salut, j'ai un probléme, je veux savoir comment trier un tableau par selection par la méthode recursive
3
Voici abir une solution sans tablo a 2 dimensions :
program ex;
uses wincrt;
var i,j,n,x,y:integer;
T:array[1..100] of integer;
BEGIN
repeat
write('n=');readln(n);
until (n>=2);
j:=1;
repeat
readln(T[j]);
until T[j]>=0;
for i:=2 to n do
begin
repeat
writeln('T[',i,']= ');readln(T[i]);
until (T[i]>=0) and (T[i]>T[j]);
j:=i;
end;

for i:=1 to n-1 do
begin
x:=T[i]; y:=T[i+1];
while x<>y-1 do
begin
write(x+1,' ');
x:=x+1;
end;
end;
END.
3
Il maque après la dernière lignes 2 end :

end;
end.
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jameuzzzzzzzzzzzzz
12 avril 2008 à 20:54
J'ai un probleme, je veux savoir comment l'ordi interprete un tableau en pascal lors d'un programme
2
Est ce que le tableau est supposé etre trié ou on va se charger de le trier ?
1
Voici le programme:

Program ex;

Uses wincrt;
Var A:array[1..dim] of integer;
dim,i,j:integer;
B:array[1..dim-1] of integer;
{un tableau dynamique}
C:Array[1..dim,1,dim-1] of integer;

Begin:
write('Donnez le nombre de cases dans le tableau');
read(dim);
for i:=1 to dim-1 do
begin
read(A[i]);
B[i]:=A[i+1]-A[i]-1; // on va determiner les espaces entre les cases
for j:=1 to B[i] do
begin
C[i,j]:=A[i]+j; // les nombres manquant entre la case A[i] et A[i+1]
write(C[i,j]); // afficher les résultats
end;
1
solution sans matrice :

program ex;
uses wincrt;
var i,j,n,x,y:integer;
T:array[1..100] of integer;
BEGIN
repeat
write('n=');readln(n);
until (n>=2);
j:=1;
repeat
readln(T[j]);
until T[j]>=0;
for i:=2 to n do
begin
repeat
writeln('T[',i,']= ');readln(T[i]);
until (T[i]>=0) and (T[i]>T[j]);
j:=i;
end;

for i:=1 to n-1 do
begin
x:=T[i]; y:=T[i+1];
while x<>y-1 do
begin
write(x+1,' ');
x:=x+1;
end;
end;
END.
0
Bonjour,
suivant la logique du programme,quelles modifications dois je apporter pour la fusion de 2 tableaux?
1