begin Writeln('Введите фразу, разделяя слова ровно одним пробелом'); Readln(s); Write('Введите номер слова для поиска: '); Readln(X); { Ищем в строке s местоположение слова номер Х. Его начальную позицию в строке обозначим p, а конечную - q } n := Length(s); i := 1; k := 0; p := 0; q := 0; repeat if s[i] = ' ' then begin Inc(k); if k = X - 1 then p := i + 1 else if k = X then q := i - 1 end; if q = 0 then i := i + 1 until (q > 0) or (i > n); if (p = 0) then Writeln('Количество слов в строке меньше ', X) else if q = 0 then q := n; w := Copy(s, p, q - p + 1); if (Pos('а', w) > 0) or (Pos('о', w) > 0) then Writeln('Одна из букв (а,о) есть в слове "', w, '"') else Writeln('В слове "', w, '" нет ни буквы а, ни буквы о') end.
Тестовое решение: Введите фразу, разделяя слова ровно одним пробелом Самая лучшая рыба- это колбаса! Введите номер слова для поиска: 5 Одна из букв (а,о) есть в слове "колбаса!"
Введите фразу, разделяя слова ровно одним пробелом Тестирование программ может служить доказательством наличия ошибок, но никогда не докажет их отсутствие!» Эд. Дейкстра, 1972 г. Введите номер слова для поиска: 4 В слове "служить" нет ни буквы а, ни буквы о
s, w: string;
i, X, n, k, p, q: integer;
begin
Writeln('Введите фразу, разделяя слова ровно одним пробелом');
Readln(s);
Write('Введите номер слова для поиска: '); Readln(X);
{
Ищем в строке s местоположение слова номер Х.
Его начальную позицию в строке обозначим p, а конечную - q
}
n := Length(s);
i := 1; k := 0; p := 0; q := 0;
repeat
if s[i] = ' ' then
begin
Inc(k);
if k = X - 1 then p := i + 1
else if k = X then q := i - 1
end;
if q = 0 then i := i + 1
until (q > 0) or (i > n);
if (p = 0) then Writeln('Количество слов в строке меньше ', X)
else if q = 0 then q := n;
w := Copy(s, p, q - p + 1);
if (Pos('а', w) > 0) or (Pos('о', w) > 0) then
Writeln('Одна из букв (а,о) есть в слове "', w, '"')
else Writeln('В слове "', w, '" нет ни буквы а, ни буквы о')
end.
Тестовое решение:
Введите фразу, разделяя слова ровно одним пробелом
Самая лучшая рыба- это колбаса!
Введите номер слова для поиска: 5
Одна из букв (а,о) есть в слове "колбаса!"
Введите фразу, разделяя слова ровно одним пробелом
Тестирование программ может служить доказательством наличия ошибок, но никогда не докажет их отсутствие!» Эд. Дейкстра, 1972 г.
Введите номер слова для поиска: 4
В слове "служить" нет ни буквы а, ни буквы о
Дель — мелкая сеть
б) РОТА - НОТА - БОТА - БОЛА - ПОЛА - ПОЛК
Бота — испанский мешок для вина
Бола — испанское метательное оружие
в) БАНТ - КАНТ - КАРТ - КОРТ - КОРА - КОСА
г) БЕГ - БЕЛ - МЕЛ - МЕХ - МОХ - ЛOХ - ЛОГ - ЛАГ - ШАГ
Бел — единица громкости звука
Лoх — китайский кустарник
Лаг — прибор для измерения скорости судна
д) МОРЕ - МОРГ - ТОРГ - ТОРТ - СОРТ - БОРТ - БУРА - СУРА - СУША
Бура — минерал
Сура — раздел в Коране
е) МИГ - МИМ - ЖИМ - ЖОМ - КОМ - КОЛ - КОК - ВОК - ВЕК
Вок — китайский котёл для жарки