Вывести На Экран Max Слово Палиндром

Тема в разделе "MS Visual C++", создана пользователем NadezdaM, 27 дек 2012.

Наш партнер Genesis Hackspace
  1. NadezdaM

    NadezdaM Гость

    Дан не пустой текст разделенный пробелами, в конце последнего слова стоит точка. Вывести на экран Max слово палиндром.
    Помогите, пожалуйста, найти ошибку.
    Код (C++):
    # include <iostream.h>
    # include <string.h>
    const n=30;

    bool is_polindrom(char str[])
    {
    int l;
    l=strlen(str);// кол-во символов
    bool b=true;// предполагаем, что палиндром
    int i=0;
    for(i=0;i<l/2&&b;i++)
    if (str[i]!=str[l-1-i])
    b=false;
    return b;
    }
    void main()
    {
    char buf[n];
    char palind[n]={'/0'};
    int max_dl=0,l;
    bool b=true;// текст не пустой
    while(b);
    {  
    cout<<"enter word";
    cin>>buf;
    l=strlen(buf);// кол-во символов
    if (buf[l-1]=='.')
    {
    b=false;
    if (buf[l-1]=='\0')
    l--;
    }
    if (is_polindrom(buf))
    {
    if (l> max_dl)
    {
    max_dl=l;
    strcpy(palind,buf);
    }

    }
    if (max_dl!=0)
    cout<<max_dl<<' '<<palind;
    }
    }
     
  2. rrrFer

    rrrFer Гость

    что не работает?
     
  3. NadezdaM

    NadezdaM Гость

    что не работает?

    Программа запускается, но выскакивает просто черный экран, на котором нельзя задать строку.
    P.s остальные задачи работают нормально

    Добавлено: Я нашла ошибку. После while не надо ставить точку запятой)))
     
Загрузка...

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