Найти самое длинное симметричное слово

Ответить
xVeteRx
Сообщения: 1
Зарегистрирован: 11 апр 2009, 03:58

народ нужно во введённом тексте найти самое длинное симметричное слово, в чём ошибка?Выводит ерунду
#include<iostream.h>
#include<conio.h>
void main()
{
char a[40],b[40];int i=0,k;int lenght=0,flag=0;
do
{

a=getche();
i++;
if (a[i-1]==13) break;
if (a[i-1]==23)
{
flag=1;
k=i;
i=0;
for (int j = 0; j <= k/2; j++)
{
if (a[j]!=a[k-j]) flag=0;
}
}
if (flag==1 && k>lenght)
{
lenght=k;
for (int j=0; j <= k; j++) b[j]=a[j];
}
}while(1);
cout<<endl;
for (i = 0; i <=lenght; i++) cout<<b;
getch();
}
Albor
Сообщения: 491
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

Если хочешь помощи, то отнесись с уважением к присутствующим:во-первых, отформатируй текст программы, во-вторых, думаешь кому-то сильно хочется гадать, для чего определена куча переменных и каково их назначение, отслеживая их в куче вложенных циклов (это я о комментариях)? И, можно воспринять как совет, решение задачи лучше сделать сначала на листочке в клеточку, тогда многие моменты станут очевидными, например: незачем гонять полный цикл проверки символов, если попалось несовпадение, значит слово уже не симметрично и дальнейшие действия не имеют смысла.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

А в-самых-первых - внимательно выбирайте раздел. Тема перемещена.
Ответить