Tri d'un tableau en pascal

abir.1 Messages postés 21 Date d'inscription   Statut Membre -  
 verano -
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

8 réponses

  1. abir.1 Messages postés 21 Date d'inscription   Statut Membre 8
     
    le tableau est supposé etre trié
    4
  2. aziza
     
    salut, j'ai un probléme, je veux savoir comment trier un tableau par selection par la méthode recursive
    3
  3. fatma
     
    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
  4. grad
     
    Il maque après la dernière lignes 2 end :

    end;
    end.
    2
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jameuzzzzzzzzzzzzz
     
    J'ai un probleme, je veux savoir comment l'ordi interprete un tableau en pascal lors d'un programme
    2
  7. grad
     
    Est ce que le tableau est supposé etre trié ou on va se charger de le trier ?
    1
  8. grad
     
    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
    1. fatma
       
      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
  9. verano
     
    Bonjour,
    suivant la logique du programme,quelles modifications dois je apporter pour la fusion de 2 tableaux?
    1