Составьте программу, выясняющую, есть ли в слове Х хотя бы одна из букв "о" или "а"?

0 голосов
43 просмотров

Составьте программу, выясняющую, есть ли в слове Х хотя бы одна из букв "о" или "а"?


Информатика (19 баллов) | 43 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

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
В слове "служить" нет ни буквы а, ни буквы о




(142k баллов)
0 голосов

#include
#include

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;<br>
return 0;
}

(3.2k баллов)
0

А если попроще?

0

Куда проще?

0

А это товарищ повыпендриваться решил, крутизну якобы свою показать. Мол, раз язык не указан, заведомо ток напишу, что обычный школьник не поймет. Можно подумать, он не понимает, что в рядовой школе С++ для еще в стандарте 1.1 не изучают.

0

Лучше бы вспомнил, знал ли он это сам в свои 13-14 лет...