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