PROGRAMME PASCAL

BONJOUR
J'AI UNE PARTIE D'UN PROGRAMME ET J'AIMERAIS QU'ON M'AIDE A LA COMPLETER. C'EST UN EXERCICE QU'ON MA DONNE.LES PARTIES MANQUANTES DU PRGRAMME SONT REMPLACES PAR LES TROIS ASTERISTES ET C'EST CE QU'IL FAUT TROUVER.
VOILA L'ENONCE:
LES FRERES DE JOSEPH AU NOMBRE DE 8 POUR CHOISIR LUN ET LAUTRE A LE VISITER SONT ASSIS AUTOUR DUNE TABLE NUMEROTEE DE 1 A 8. A PARTIR DU 1ER, ON COMPTE JUSQU'AU 4EME ET IL QUITTE LA TABLE PUIS ON CONTINUE DE COMPTER A PARTIR DU SUIVANT JUSQU'A CE QUE TOUS SOIENT CHOISIS. ON DEMANDE D'AFFICHER PAR LISTE DE 3 PERSONNES LES NUMEROS D'ORDRE DE SELECTION DES 8 FRERES.
VOICI LE PROGRAMME:

PROGRAM JOSEPH;CONST N=8; S=1;
VAR P:ARRAY[1..N] OF INTEGER;
I,J,K,M,S1,W:INTEGER;
BEGIN
M:=4; S1=S;
FOR I:= 1 TO N DO ***
FOR I:=N DOWNTO 2 DO
BEGIN
S1:= ***;
IF S1=0 THEN ***
W:=P[S1];
FOR J:=S1 TO *** DO
P[J]:=P[J+1];
P[I]:=W;
END;
WRITELN('LES FRERES DE JOSEPH LE VISITERONS DANS L''ORDRE:');
FOR I:= N DONWTO 1 DO
BEGIN
WRITE(P[I]:4);
IF *** MOD 3 =0 THEN
WRITELN;
END
END.

7 réponses

  1. voila, j'espere que c'est ça:
    PROGRAM JOSEPH;
    CONST
      N=8;
      S=1;
    VAR
      P:ARRAY[1..N] OF INTEGER;
      I,J,K,M,S1,W:INTEGER;
    BEGIN
      M:=4; S1:=S;
      FOR I:= 1 TO N DO P[I]:=I;
      FOR I:=N DOWNTO 2 DO
      BEGIN
        S1:= I-2;
        IF S1=0 THEN  S1:=I;
        W:=P[S1];
        FOR J:=S1 TO I-1 DO
          P[J]:=P[J+1];
        P[I]:=W;
      END;
    
      WRITELN('LES FRERES DE JOSEPH LE VISITERONS DANS L''ORDRE:');
      FOR I:=N DOWNTO 1 DO
      BEGIN
        WRITE(P[I]:4);
        IF (I MOD 3) =0 THEN
          WRITELN;
      END
    END.
    

    si t'as d'autres questions n'hesite pas
    (moi je rentre à la maison maintenant, donc à demain)
    1
    1. s'il te plait, s'il te plait, s'il te plait, ecrit en miniscules!
      PROGRAM JOSEPH;
      CONST N=8; S=1;
      VAR P:ARRAY[1..N] OF INTEGER;
      I,J,K,M,S1,W:INTEGER;
      BEGIN
        M:=4; S1=S;
        FOR I:= 1 TO N DO
           readln(P[I]);
        FOR I:=N DOWNTO 2 DO
        BEGIN
          S1:= I;
          IF S1=0 THEN ***
          W:=P[S1];
          FOR J:=S1 TO N DO
            P[J]:=P[J+1];
          P[I]:=W;
        END;
      
        WRITELN('LES FRERES DE JOSEPH LE VISITERONS DANS L''ORDRE:');
        FOR I:= N DONWTO 1 DO
        BEGIN
          WRITE(P[I]:4);
          IF (I MOD 3) =0 THEN
          WRITELN;
        END
      END.
      


      c'est juste des suppositions
      si tu as un enoncé complet alors il faudrais nous le donner!!
      0
      1. au fait la suite dit que:
        1)stocker les numeros 1 à n des freres dans une table p
        2)si le 1eme quitte la table, à la place p[i] s'assoie l'element de i+1 et les suivants décalent d'une place.
        3)la 2eme étape se repete jusqu'à ce qu'il ne reste plus qu'un seul frere.
        merci
        0
        1. tu vois, là on as des erreurs dans ce que j'ai mis!
          je corrige:
          PROGRAM JOSEPH;
          CONST
            N=8;
            S=1;
          VAR
            P:ARRAY[1..N] OF INTEGER;
            I,J,K,M,S1,W:INTEGER;
          BEGIN
            M:=4; S1=S;
            FOR I:= 1 TO N DO P[I]=I;
            FOR I:=N DOWNTO 2 DO
            BEGIN
              S1:= ***;
              IF S1=0 THEN ***
              W:=P[S1];
              FOR J:=S1 TO N DO
                P[J]:=P[J+1];
              P[I]:=W;
            END;
          
            WRITELN('LES FRERES DE JOSEPH LE VISITERONS DANS L''ORDRE:');
            FOR I:= N DONWTO 1 DO
            BEGIN
              WRITE(P[I]:4);
              IF (I MOD 3) =0 THEN
              WRITELN;
            END
          END.
          

          je sais il me reste 2 lignes, je reflechis encore
          S1:= ***;
          IF S1=0 THEN ***
          0
          1. d'accord merci beaucoup, sam.j'attends ton aide
            0
            1. merci samuel pour ton aide.bye.
              0
              1. :-( c'est qui samuel?
                "sam" c'est pour "Sami"
                mais de rien (je suppose que tu lire pas cette remarque) :(
                0