[pascal]pętla i problem ze zmienna

0

Witam,
mam następujący problem. Napisałem program w Pascalu, ma kilka pętli i chcę z tych pętli uzyskać pewną wartość ( zero bądź jeden), ale ciagle, gdy program wykona pętle, to zwraca wartość 1 (nawet wtedy gdy powinna byc zero). Czy może mi ktoś powiedzieć dlaczego tak jest i jak mogę to zmienić, aby zwracało wartość jeden, tylko gdy spełniony jest dany warunek. Ponizej wklejam fragment kodu .:
Var
i,j,k:integer;
x:byte;
s:string;
BEGIN
......
For i:=1 To n Do
begin
For j:=2 To n Do
begin
x:=0;
For k:=1 To n div 2 Do
If s[k]=s[k+1] Then x:=1 else x:=0;
end;
end;

If x=1 then writeln('Te znaki są równe') else writeln('Te znaki nie są równe');
......
END.

PS
Z góry dzięki za wszelką pomoc. Program mam oddać na jutro wiec każda rada jest cenna.

0

Jeśli s to string to nie rozumiem co możesz porównywać
Albowiem jeśli s[k] jest elementem tablicy z łańcuchem '1234',
a s[k+] jest elementem tej samej tablicy z łańcuchem '12345' to można
porównywać np jego długość za pomocą funkcji Length(s[k]).
Wtedy warunek if ma sens i otrzymasz x=0 lub x=1 w zależności
od tego czy łancuchy mają tę samą długość czy nie.

0

Cały fragment robi tylko tyle
x:=ord(s[n div 2]=s[n div 2 + 1])

1 użytkowników online, w tym zalogowanych: 0, gości: 1