0

我有一个读取字母数组的程序(可以是任何文本)。然后我需要比较每行代码的第一个和第四个元素,但是程序不允许我这样做。我怎样才能访问这些元素以便比较它们?

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])
4

1 回答 1

1

您的访问是正常的(如果所有字符串至少有四个字符,对于 0 到 3 个字符的字符串,可能会出现错误/消息)。可能是您在运行程序时遇到问题,并且它的行为不符合预期。

如果您将语句替换为 ,您的程序将按预期运行。A语句仅在有限的情况下才有意义,在交互式程序中您几乎总是会使用. 随着这些变化和输入readreadlnreadreadln

5
abcdef
abcabc
0101010101010101
10011001
123456

您将获得结果显示 2(行/字符串 abcabc10011001符合标准并将增加答案)。

于 2016-05-18T11:21:41.740 回答