Помощь - Поиск - Пользователи - Календарь
Полная версия: проверка строки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
18192123
Нужно всего лишь проверить, есть ли в строке одинаковые слова.

Слова разделяются пробелами

у меня все время выдаёт результат - истина


uses crt;

function Slovo(s:string;n:integer):string;
const lim =[' ',',','!'];
var ss:string;
k,c,i:integer;
begin
ss:=''; c:=1; k:=1;
while k<=length(s) do begin
while not(s[k] in lim) and (k<=length(s)) do begin
if c=n then ss:=ss+s[k];
inc (k); end;
inc ( c );
while (s[k] in lim) and (k<=length(s)) do inc (k);
end;
Slovo:=ss;
end;

var
flag : boolean;
s : string;
n, i, j : integer;

begin
clrscr;
flag := false;
writeln (' vvedite stroky ');
readln (s);
for i := 1 to length (s) do
begin
j := i + 1;
for j := 1 to Length (s) do
if slovo (s, i) = slovo (s, j) then flag := true;
end;
writeln (' rezyltat: ' );
writeln (flag);
readkey;
end.


Malice

n:=количество слов.
for i := 1 to n-1 do
for j := i+1 to n do
if slovo (s, i) = slovo (s, j) then flag := true;

volvo
...
i := 1;
while slovo(s, i) <> '' do begin
j := i + 1;
while slovo(s, j) <> '' do begin

if slovo (s, i) = slovo (s, j) then flag := true;

inc(j);
end;
inc(i);
end;
...
18192123
Спасибо за помощь!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.