2015-09-30 5 views
0

Я недавно попытался создать базовый цезарь-cypher в pascal (используя lazarus в качестве моего компилятора). Моя цель состояла в том, чтобы установить числа в виде массива, а затем объявить все числа в виде букв, чтобы при запуске кода он должен скремблироваться или «шифровать» код. Я все еще новичок и пытаюсь преодолеть первые основные проблемы с этим кодом. Я изучил теорию о том, как это работает ... просто не понял, как его реализовать :([он продолжает выделять код numbers[1] := 'a'; и говорит о незаконном идентификаторе ?! пока что это то, что у меня есть:Как исправить эту ошибку: «Недействительный идентификатор?»

program Caesarcypher; 
    var 
    numbers : integer; 
    number : array [1..26]of integer; 
begin 
    numbers[1] := 'a'; 
    numbers[2] := 'b'; 
    numbers[3] := 'c'; 
    numbers[4] := 'd'; 
    numbers[5] := 'e'; 
    numbers[6] := 'f'; 
    numbers[7] := 'g'; 
    numbers[8] := 'h'; 
    numbers[9] := 'i'; 
    numbers[10] := 'j'; 
    numbers[11] := 'k'; 
    numbers[12] := 'l'; 
    numbers[13] := 'm'; 
    numbers[14] := 'n'; 
    numbers[15] := 'o'; 
    numbers[16] := 'p'; 
    numbers[17] := 'q'; 
    numbers[18] := 'r'; 
    numbers[19] := 's'; 
    numbers[20] := 't'; 
    numbers[21] := 'u'; 
    numbers[22] := 'v'; 
    numbers[23] := 'w'; 
    numbers[24] := 'x'; 
    numbers[25] := 'y'; 
    numbers[26] := 'z'; 

end. 

ответ

0

у вас есть по крайней мере две ошибки.

  1. номера не заявлен вами в качестве переменной массива. только целая переменная. Таким образом, он не имеет членов [1] .. [n]. Вы можете назначить что-то вроде этого: numbers:=64;
  2. Y ou объявили число как массив целых чисел. Таким образом, вы не можете назначать значения символов своим членам. Вы можете назначить number[1]:=1;. Если вы хотите назначить символ своим членам, вам необходимо объявить var numbers:array [1..26] of char; или number:array [1..26] of char;.