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. :-( c'est qui samuel?
    "sam" c'est pour "Sami"
    mais de rien (je suppose que tu lire pas cette remarque) :(
    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. 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 ***
        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
          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!!