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

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

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;
}
}
 
что не работает?

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

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab