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 !
Partager