Rechercher : dans
Par :

Tri d'un tableau en pascal

Dernière réponse le 7 avr 2009 à 23:43:15 abir.1, le 13 jan 2008 à 18:47:59 
 Signaler ce message aux modérateurs

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

Configuration: Windows Me!
Firefox 2.0

Meilleures réponses pour « tri d'un tableau en pascal » dans :
Inverser les éléments d'un tableau -Récursivité- VoirVoici une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau compris entre la position p et n : Procedure Inverser (Var t : Tab; p, n : Integer); Var aux : Real; Begin If p < n Then ...
Pascal - Tri par insertion - Récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par insertion : Procedure Tri_Ins (Var t: TAB; n: integer); Var aux,i : integer; begin If n > 1 Then begin ...
Tri par fusion - récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par fusion : Procedure Tri_Fusion (Var t : TAB; g, d : integer); Var m, i, j, k : integer; s : TAB; Begin If d > g Then ...
Tableau de bord VoirNotion de tableau de bord Un tableau de bord est une représentation graphique synthétique d'un ensemble d'indicateurs donnant à un responsable tous les éléments lui permettant de prendre visuellement et rapidement des décisions. Compte-tenu de sa...
SQL - Tri VoirTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou...

1

grad, le 13 jan 2008 à 19:00:58

Est ce que le tableau est supposé etre trié ou on va se charger de le trier ?

Répondre à grad

2

abir.1, le 13 jan 2008 à 19:05:07

Le tableau est supposé etre trié

Répondre à abir.1

3

grad, le 13 jan 2008 à 19:26:33

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;

Répondre à grad

8

fatma, le 15 avr 2008 à 13:32:57

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.

Répondre à fatma

4

grad, le 13 jan 2008 à 19:29:04

Il maque après la dernière lignes 2 end :

end;
end.

Répondre à grad

5

aziza, le 15 jan 2008 à 18:52:31

Salut, j'ai un probléme, je veux savoir comment trier un tableau par selection par la méthode recursive

Répondre à aziza

6

jameuzzzzzzzzzzzzz, le 12 avr 2008 à 20:54:38

J'ai un probleme, je veux savoir comment l'ordi interprete un tableau en pascal lors d'un programme

Répondre à jameuzzzzzzzzzzzzz

7

fatma, le 15 avr 2008 à 13:31:37

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.

Répondre à fatma

9

 verano, le 7 avr 2009 à 23:43:15

Bonjour,
suivant la logique du programme,quelles modifications dois je apporter pour la fusion de 2 tableaux?

Répondre à verano