Составьте программу, выясняющую, есть ли в слове х хотя бы одна из букв "о" или "а"?
213
329
Ответы на вопрос:
Var 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 в слове "служить" нет ни буквы а, ни буквы о
#include < iostream> #include < string> int main() { std: : string x; std: : cin > > x; bool same= false; for (auto i : x){ if (i == 'o' || i == 'a') {same = true; break; } } std: : cout < < std: : boolalpha < < same; return 0; }
Популярно: Информатика
-
Золушка25117.05.2023 20:40
-
Eleonortttt05.05.2023 10:01
-
P0SEYD0N01.03.2022 01:17
-
kirillnesterov0613.02.2021 09:39
-
nataaleksandro213.01.2020 16:27
-
Анастасия334223.05.2021 11:41
-
Jeembo2329.04.2020 17:04
-
cheacher06.04.2020 07:40
-
Mariavvv18.09.2020 03:02
-
nastyagosteva06.12.2021 12:21