Как я могу получить доступ к элементу в строке, которая находится в массиве в Паскале?

У меня есть программа, которая читает массив букв (это может быть любой текст). Затем мне нужно сравнить 1-й и 4-й элемент каждой строки кода, но программа не позволяет мне это сделать. Как я могу получить доступ к этим элементам, чтобы сравнить их?

Program acmp387;

uses crt;

var
  n, i, answer : integer;
  letters : array[1..1000] of string;

Begin
  read(n);

  for i:=1 to n do
    begin
      read(letters[i]);
      if ord(letters[i][1]) = ord(letters[i][4])
       then answer := answer + 1;
    end;

  writeln(answer);
  readkey;
End.       

Я заинтересован в этой строке:

if ord(letters[i][1]) = ord(letters[i][4])

1 ответ

Решение

Ваш доступ в порядке (если все строки имеют по крайней мере четыре символа, для строк от 0 до 3 символов может быть сообщение об ошибке). Возможно, у вас есть проблема с запуском вашей программы, и она не работает должным образом.

Ваша программа будет работать как положено, если вы замените read заявления readln, read Заявления имеют смысл только в ограниченных ситуациях, в интерактивных программах вы почти всегда будете использовать readln, С этими изменениями и вкладом

5
abcdef
abcabc
0101010101010101
10011001
123456

вы получите результат отображения 2 (строки / строки abcabc а также 10011001 соответствует критерию и будет увеличивать ответ).

Другие вопросы по тегам