Bonjour !

Ma question risque de paraître assez ridicule à des développeurs expérimentés tels que vous mais moi, je débute à peine en Pascal.

Alors, voilà mon problème ; il m'a été demandé de concevoir un programme qui convertit un nombre entier compris entre 1 et 3000 en chiffres romains (sans tenir compte des conventions, c-à-d : 4=IIII et non IV, 90=LXXXX et non XC etc.).

J'ai donc réalisé le programme suivant (qui me semble correct mais si vous voyez des erreurs, communiquez-les-moi svp !) seulement, lorsque je l'exécute, il ne m'affiche pas le contenu du tableau R censé renfermer la solution. Je suppose que la commande "write(R)" est mal exprimée. Comment dois-je la formuler ??

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
program chiffresromains;
 
var
    a:integer;
    k:integer;
    j:integer;
    P:array[0..6]of integer;
    Q:array[0..6]of char;
    R:array[0..16]of char;
    M:char;
    D:char;
    C:char;
    L:char;
    X:char;
    V:char;
    I:char;
begin
    write('Entrer un nombre entier compris entre 1 et 3000 :');
    readln(a);
    P[0]:=1000;
    P[1]:=500;
    P[2]:=100;
    P[3]:=50;
    P[4]:=10;
    P[5]:=5;
    P[6]:=1;
    Q[0]:=M;
    Q[1]:=D;
    Q[2]:=C;
    Q[3]:=L;
    Q[4]:=X;
    Q[5]:=V;
    Q[6]:=I;
    k:=0;
    j:=0;
    while(k<7)do begin
       while(a>=P[k])do begin
          a:=a-P[k];
          R[j]:=Q[k];
          j:=j+1
       end;
       k:=k+1
    end;
    write(R);
    readln;
end.

Merci d'avance !