Как я могу получить доступ к элементу в строке, которая находится в массиве в Паскале?
У меня есть программа, которая читает массив букв (это может быть любой текст). Затем мне нужно сравнить 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
соответствует критерию и будет увеличивать ответ).