Строки [c++]

Тема в разделе "C/C++/C#", создана пользователем -, 1 апр 2012.

  1. Гость

    Помогите с задачей.
    Дана строка символов. Группу символов, разделённую с одной или с обеих сторон одним или несколькими пробелами и не содержащую внутри себя пробелов назовём словом. Распечатаь все слова нечётной длины, в которых есть буква Т.
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    Код (C++):
    //
    #include <iostream>
    using namespace std;
    void main()
    {
    setlocale(LC_ALL,"RUS");
    char *u,s[80];
    cout<<"Введите строку:";
    gets(s);
    u=strtok(s," ");
    while(u)
    {
    if(strlen(u)%2!=0)
    for(int i=0;i<strlen(u);i++)
    if(u[i]=='Т')
    cout<<u<<"\n";
    u=strtok(NULL," ");
    }
    }
    //
     
  3. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    однако, идентификатор s можно убрать:
    Код (Text):
    //
    #include <iostream>
    using namespace std;
    void main()
    {
    setlocale(LC_ALL,"RUS");
    char *u = new char[80];
    cout<<"Введите строку:";
    gets(u);
    strtok(u," ");
    while(u)
    {
    if(strlen(u)%2!=0)
    for(int i=0;i<strlen(u);i++)
    if(u[i]=='Т')
    cout<<u<<"\n"; //тут явно не хватает break
    u = strtok(NULL," ");
    }
    delete u;
    }
    //
    Если в слове четной длины несколько букв "Т" то оно напечатается несколько раз.
    Не обратил бы внимания на программу если бы не эта строка: strtok(NULL," "); что-то невероятное.
     
  4. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    :) да break в том месте исправил бы повторение одного слова ))


    а почему strtok(NULL," "); что-то невероятное??
     
  5. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    Ну так то да, вполне вероятное...в документации про это тоже написано )
    Но не представляю как они написали такую функцию
     
Загрузка...

Поделиться этой страницей