Probléme Programe Pascal

Bonjour,

Ecrire un programme pascal permettant de coder un entier N donné supérieur ou égal a 1000 comme suit:
* on calcule la somme des chiffres de N
* A cette somme on ajoute la somme des chiffres de l'élément sauf le premier
* le calcul s'arrete des qu'on termine tous les chiffres qui constituent l'élement
exemple: Pour N=50301
5+0+3+0+1 =9
9+(0+3+0+1) =13
13+(3+0+1)=17
17+(0+1)=18
18+(1)=19
donc le code est 19
============================================================
Voici mon travaille je sais pas ou est ma faute

program ji;
uses wincrt;
type
tab = array [1..1000] of integer;

var
t: tab;i,e,nb,k,er,j:integer;
n,p:longint;
ch:string;
begin
repeat
readln(n);
until n>=1000;
str(n,ch);
k:=length(ch);
for i:=1 to k do begin
val(ch[i],t[i],er); end;
i:=k;
 
nb:=0;
repeat
i:=i+1;
t[i]:=0;
nb:=nb+1;
for p:=0 to k-1 do  begin
for j:=i-k to i-(2p+1) do

t[i]:=t[i]+t[j];
   end;
until nb=k;
write(t[i]);
end.


==>Pascal me dit que "signe ) attendu aprés le 2 qui est avant p

aider moi svp!!!

1 réponse

  1. Contributeur
    Salut Djo123,

    dans
    for j:=i-k to i-(2p+1) do
    le compilateur ne sais pas quoi faire de avec
    2p
    car, entre autres :

    - 2p n'est une variable licite
    - tu as définit p, mais
    2p
    ne signifie rien car il n'y a pas d'opérateur entre les deux

    Dal

    P.S. : stp, arrête de faire remonter dans le forum des messages anciens
    1. P.S. : stp, arrête de faire remonter dans le forum des messages anciens
      pourquoi?
    2. Contributeur
      en général, cela perturbe le fonctionnement du forum, en remontant des questions qui ne sont plus d'actualité pour les personnes qui les ont posées, et qui n'ont pas un intérêt transcendant pour la communauté non plus.

      visiblement, tu as l'air plus intéressé par mon post-scriptum que par ma réponse

      allez, bonne soirée,

      Dal
    3. ok c compris