Страница 1 из 1

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

Добавлено: 28 мар 2010, 07:39
nitrozevs
Доброго времени суток, помагите пожайлуста исправить задачу:
"Нужно во введённом тексте найти самое длинное симметричное слово."
Т.е. должна строка вводится сразу(ввели строку нажали ентер и компилятор поехал обрабатывать).
Я мало по малу набрал половино проги(вернее всю, но она с ошибками и требует исправления).

Код: Выделить всё

#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
void main()
main()
      {
      clrscr();
      cout<<"amin"<<endl;
       int i,k;
        int size=1;
        char *a=NULL;
        a=new char [size];
        int t=0;
          do
         {

           a[t]=getch();
           cout<<a[t];
           k=(int)a[t];
           size+=1;t+=1;
           }while(k!=13);


       for(i=0;i<size;i++)
         cout<<a[i];
         delete[]a;
      getch();
      }
мне надо что строку целиком вводить и через gets

Re: Помогите исправить задачу

Добавлено: 28 мар 2010, 08:42
rrrFer

Код: Выделить всё

//Вместо этого можно использовать getche()
a[t]=getch();
cout<<a[t];
что-то ты не то написал, задачу можно решить так:
-объявить 2 строки (одна вводится пользователем, вторая хранит самое длинное слово)
-объявить переменные хранения длины текущего слова, самого длинного слова,2 итератора (ИМХО так)
-выделить слово из строки, определить его длину
-проверить слово на симметричность, если симметрично то:
-сравниваешь его длину и длину самого длинного слова
-если надо заменить - заменяешь самое длинное слово и обновляешь значение наибольшей длины