Roman Zabolotskyi Roman Zabolotskyi - 4 months ago 7
Pascal Question

How do i get an access to an element in a string that is in the array in Pascal?

I have a programm that reads an array of letters (it can be any text). Then I need to compare the 1st and the 4th element of each line of code but the programm doesn't allow me to do this. How can I get an access to those elements in order to compare them?

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.


I'm interested in this line:

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

Answer

Your access is OK (if all strings have at least four characters, for strings with 0 to 3 characters there may be an error/message). May be you have a problem to run your program and it does not behave as expected.

Your program will work as expected if you replace the read statements by readln. A read statements makes sense only in limited situations, in interactive programs you will almost always use readln. With these changes and the input

5
abcdef
abcabc
0101010101010101
10011001
123456

you will get the result display 2 (the lines/strings abcabc and 10011001 meet the criterion and will increment answer).