• Предмет: Информатика
  • Автор: Legion055
  • Вопрос задан 10 месяцев назад

C++ // Строки
Вывести на экран строку, введенную пользователем до первой буквы «р»


ImSlady: ..
popovplaton125: Можно подробнее?

Ответы

Ответ дал: BobbyFresnel
1

#include <iostream>

#include <cstring>

using namespace std;

int main ()

{

   string s;

   getline(cin, s);

   int p = 0;

   while(s[p] != 'p')

       p++;

   cout << s.substr(0, p);

   return 0;

}


DeaDHeaD: Крэшиться если ввожу пустую строку!
DeaDHeaD: и ввидите P большую и посмотрите что будет.
DeaDHeaD: asdP например без маленькой p
BobbyFresnel: А можно много разной фигни придумать, чтобы любую задачу закрэшить. Но если писать со всеми заморочками антивандальное чудо, то оно разбухнет просто смертельно и 80-90% народа кда не поймут. Поэтому, к примеру, ЕГЭшные условия говорят о том, что всякиепроверки исхзодных данных делать не надо, если об этом не сказано явно.
BobbyFresnel: А тут понятно, что если нет этой "p", будет зацикливание.
DeaDHeaD: Я этому гражданину тут писал с проверкой, https://znanija.com/task/33387772 видать он ничего не понял))
BobbyFresnel: Вот потому и не понял (возможно). А может наоборот, он знает, что подобные проверки отсутствия черной кошки в темной комнате в школьных задачах не требуются.
BobbyFresnel: Проверка несложная - проверять исчерпание символов строки, а вот с пустотой хуже. cin вообще ненавидит пустые строки, а вводить по getc - еще та затея. По крайней мере, все это надо знать.
Вас заинтересует