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

  • Автор темы NadezdaM
  • Дата начала
N

NadezdaM

Гость
#1
Дан не пустой текст разделенный пробелами, в конце последнего слова стоит точка. Вывести на экран 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;
}
}
 
N

NadezdaM

Гость
#3
что не работает?

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

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