如何访问 Pascal 数组中字符串中的元素?
How do i get an access to an element in a string that is in the array in Pascal?
我有一个程序可以读取一组字母(可以是任何文本)。然后我需要比较每行代码的第一个和第四个元素,但程序不允许我这样做。我怎样才能访问这些元素以便比较它们?
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])
您的访问权限正常(如果所有字符串至少有四个字符,对于 0 到 3 个字符的字符串可能有一个 error/message)。可能是您的程序 运行 有问题,它没有按预期运行。
您的程序 将 按预期工作 如果 您将 read
语句替换为 readln
。 read
语句只在有限的情况下有意义,在交互式程序中你几乎总是使用 readln
。通过这些更改和输入
5
abcdef
abcabc
0101010101010101
10011001
123456
你会得到结果显示2(lines/stringsabcabc
和10011001
符合条件,会增加答案)。
我有一个程序可以读取一组字母(可以是任何文本)。然后我需要比较每行代码的第一个和第四个元素,但程序不允许我这样做。我怎样才能访问这些元素以便比较它们?
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])
您的访问权限正常(如果所有字符串至少有四个字符,对于 0 到 3 个字符的字符串可能有一个 error/message)。可能是您的程序 运行 有问题,它没有按预期运行。
您的程序 将 按预期工作 如果 您将 read
语句替换为 readln
。 read
语句只在有限的情况下有意义,在交互式程序中你几乎总是使用 readln
。通过这些更改和输入
5
abcdef
abcabc
0101010101010101
10011001
123456
你会得到结果显示2(lines/stringsabcabc
和10011001
符合条件,会增加答案)。