Другие языки программирования и технологии

Как найти слово в строке. Паскаль

Нужно что бы программа искала слово в в строке.
Ариф 73
Ариф 73
151
str:='тра та та'
iskSlovo:='та'
for i:=1 to length(str) do
if str=iskSlovo[1] then
begin
if str[i+1]=iskSlovo[2]
then
begin
writeln('slovo naideno ',iskSlovo)
break
end
end

точки с запятыми сам расставишь надеюсь, это очень черновой вариант поиска по 2-ум буквам

P.S.
все подробности на мыле
АГ
Александр Гольдин
2 446
Лучший ответ
Даниил Сафаралиев и накуя вообще такие программы писать? в русском языке все слова чтоли из двух букв?
ну.. . я бы сделал так:
разделил бы всю строку на отдельные слова (т. е. нашёл бы порядковые номера пробелов, занёс их в массив... ) потом сравнивал бы с искомым словом, те части строки, которые заключены между пробелами
как то так....
Isa Kunanbai
Isa Kunanbai
3 959
Евгений Тайлан Иногда те кто дают такие задания могут дать строку Laz12trem542nzks, и слово "12", например, так что лучше делать проверку не опираясь на пробелы
program str1;

var
str, word, newWord: string;
i, j, number, correctWord : integer;
isIdenticaly: boolean;


begin
correctWord := 0;
writeln ('Введите строку');
readln(str);
writeln ('Введите cлово');
readln(word);

//количество возможных слов и соответственно итераций цикла
number:= Length(str)-(Length(word)-1);


//Тут мы запускаем цикл, который повторится столько раз, сколько возможно получить слов такой же длины, как искомое слово
for i:=1 to number do
begin


isIdenticaly:= true; //Это переменная которая изначально равна true, но меняет значение на false если символ искомого слова не соответствует символу нового слова

//тут запускаем цикл внутри цикла, который проверяет каждую букву нового слова на соответствие символу искомого слова
for j:=0 to (Length(word)-1) do
begin

if (str[i+j] <> word[j+1]) then
begin
isIdenticaly:= false; //В этом месте мы меняем true на false если хоть один символ слова отличается от искомого
break;
end;

end;
if (isIdenticaly = true) then // Тут мы проверяем, если эта переменная осталась true до этого момента, значит все символы соответствуют
begin
correctWord:= correctWord + 1;
end;
end;

writeln(correctWord); //выводим количество найденных подходящих слов

end.