народ нужно во введённом тексте найти самое длинное симметричное слово, в чём ошибка?Выводит ерунду
#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();
}
Найти самое длинное симметричное слово
Если хочешь помощи, то отнесись с уважением к присутствующим:во-первых, отформатируй текст программы, во-вторых, думаешь кому-то сильно хочется гадать, для чего определена куча переменных и каково их назначение, отслеживая их в куче вложенных циклов (это я о комментариях)? И, можно воспринять как совет, решение задачи лучше сделать сначала на листочке в клеточку, тогда многие моменты станут очевидными, например: незачем гонять полный цикл проверки символов, если попалось несовпадение, значит слово уже не симметрично и дальнейшие действия не имеют смысла.
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
А в-самых-первых - внимательно выбирайте раздел. Тема перемещена.