0
내 질문은 간단합니다. 파스칼에서 어떻게 배열을 반복합니까? 배열을 통해 루프를 통해 문자 인덱스
P : array[char] of list;
나는에 대한-에서 루프에 대한 몇 가지 유망한 정보를 찾았지만 그들은 FPC 컴파일하지 못하는 것 같습니다.
감사합니다.
내 질문은 간단합니다. 파스칼에서 어떻게 배열을 반복합니까? 배열을 통해 루프를 통해 문자 인덱스
P : array[char] of list;
나는에 대한-에서 루프에 대한 몇 가지 유망한 정보를 찾았지만 그들은 FPC 컴파일하지 못하는 것 같습니다.
감사합니다.
도움이되기를 바랍니다.
type
ch_array = array[char] of 1..26;
var
alphabet: ch_array;
c: char;
begin
...
for c:= 'A' to 'Z' do
alphabet[c] := ord(c);
(* the ord() function returns the ordinal values *)
자세한 정보는이 링크에서 확인할 수 있습니다. 당신은 전체 범위를 반복 할 경우,
var c : char;
for c:=low(P) to high(p) do
OperationOn(P[c]);
또는 시도 http://www.tutorialspoint.com/pascal/pascal_arrays.htm
감사
는
var t: list
for t in P do
writeln(t.count);
당신이 당신의 코드를 수정할 수 있습니다 (현대가의 2.6.x + 필요) 그래서 컴파일 될 것입니다 (장래 독자의 이익을 위해)? 'Ord'는 배열이 아닌 내장 함수입니다. 'ord [m]'이 잘못되었습니다. 또한, 당신은 어디에서나 당신의 코드에'm' 변수가 없습니다. (귀하의 답변이 받아 들여 졌음을 알고 있습니다 만, 검색시이를 발견하는 미래의 독자들에게는 혼란 스러울 수있는 부적절한 콘텐츠가 있습니다.) –
@KenWhite 저것을 알아 주셔서 감사합니다. ord [m]을 ord [c]로 변경했습니다. ord() 함수는 단지 서수 값을 반환하기 때문에 우리의 경우 명령문은 단지 대입 연산이므로'alphabet [c] : = c; '와 같은 것이 될 수 있습니다. – Aleem
아니요, 여전히 부분적으로 잘못되었습니다. :-)'Ord'는 ** 함수 **이고, 당신은'[]'로 함수를 호출하지 않습니다; 올바른 코드가'Ord (c)'이기 때문에'()'로 호출합니다. 나는 너를 위해 그것을 고쳤다. :-) –