Programme en pascal

Résolu
sfrsky Messages postés 130 Statut Membre -  
sfrsky Messages postés 130 Statut Membre -
Bonjour,
je voudrais bien savoir si ce programme est correct, car quand je le compile il me sort toujours des erreurs que je n'arrive pas a corriger mais je pense qu'il faut ajouter la ligne {uses=scrt} ou quelque chose comme ca
SVP si quelqu'un peut me dire qu'elle cette fonction ?
merci d'avance.
Configuration: Windows XP
Firefox 2.0.0.12

3 réponses

  1. amigo
     
    bonjour,

    {;}expected

    begin
    t[i].cle:=mot;
    v[k]:=i;
    i:=i+1;
    end <---ici

    begin
    t[i].cle:=mot;
    t[v[k]].link:=i;
    i:=i+1;
    end <---là

    begin
    writeln('donnez un autre mot');
    readln(mot);
    end <---et encore là
    3
    1. sfrsky Messages postés 130 Statut Membre 18
       
      merci bcp mon amis.
      0
  2. sfrsky Messages postés 130 Statut Membre 18
     
    bonsoir a tous ,
    voila le programme pascal qui ne veut pas s'executé et méme pas se compiler.

    ********************
    program chainage_ouvert;
    const n=20;
    type cellule=record
    cle:string;
    link:integer;
    end;
    var v:array[0..n-1]of integer;
    t:array[0..n-1]of cellule;
    mot:string;
    i,k,h:integer;
    function hach(ch:string):integer;
    var i,som:integer;
    begin
    for i:=1 to length(ch) do
    begin
    som:=som+ord(ch[i]);
    end;
    hach:=som mod n;
    end;
    procedure insert(var i:integer);
    var j,z:integer;
    begin
    if v[k]=-1 then
    begin
    t[i].cle:=mot;
    v[k]:=i;
    i:=i+1;
    end
    else
    if t[v[k]].cle<>mot then
    if t[v[k]].link=-1 then
    begin
    t[i].cle:=mot;
    t[v[k]].link:=i;
    i:=i+1;
    end
    else
    begin
    j:=v[k];
    z:=1;
    while (t[j].link<>-1) and (z=1) do
    if t[j].cle<>mot then
    j:=t[j].link
    else
    z:=0;
    end;
    if z=1 then
    begin
    t[i].cle:=mot;
    i:=i+1;
    end;
    begin
    i:=0;
    for h:=0 to n-1 do
    begin
    v[h]:=-1;
    t[h].link:=-1;
    end;
    i:=0;
    while i < n do
    begin
    writeln('donnez un mot');
    readln(mot);
    repeat if mot=' ' then
    begin
    writeln('donnez un autre mot');
    readln(mot);
    end
    until mot<>' ';
    end;
    k:=hach(mot);
    insert(i);
    i:=0;
    for h:=0 to n-1 do
    writeln(t[h].cle);
    end;
    end.
    *********************
    il me signale {;}expected
    merci d'avance
    0
  3. sfrsky Messages postés 130 Statut Membre 18
     
    SVP aidé le plus vite possible.merci
    0