Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2009, 10:01   #1
xVeteRx
 
Регистрация: 10.04.2009
Сообщений: 7
Вопрос найти самое длинное симметричное слово Си++

Люди добрые помогите))Нужно во введённом тексте найти самое длинное симметричное слово.Думал с strtok делать да с массивом не хочет дружить он((
Вот что пока нахимичил:
Код:
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
void main()
	  {
	  clrscr();
	  cout<<"amin"<<endl;
	   int i,k;
		int size=1;
		char *a=NULL,b[20],*p,str1;
		a=new char [size];
		int t=0,l=0;
	   do
	   {

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

		 p=strtok(char str1," ,.");
		 printf(p);
		do
		  {
			  p=strtok(NULL,",. ");
			  if(p) printf("|%s",p);
		  }while(p);


		 cout<<" ";
	   for(i=0;i<size;i++)
		 cout<<a[i];
		 delete[]a;
	  getch();
	  }
на strtok ругаеться[C++ Error] laba3f.cpp(32): E2188 Expression syntax

Последний раз редактировалось Stilet; 10.04.2009 в 10:06.
xVeteRx вне форума Ответить с цитированием
Старый 10.04.2009, 10:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
p=strtok(char str1," ,.");
А правильно это? Что за параметры тут должны быть?
Помоему в Сях преобразование типа так пишется:
Код:
 p=strtok( (char)str1," ,.");
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.04.2009, 10:21   #3
xVeteRx
 
Регистрация: 10.04.2009
Сообщений: 7
По умолчанию

не если так
[C++ Error] laba3f.cpp(32): E2034 Cannot convert 'int' to 'char *'
[C++ Error] laba3f.cpp(32): E2342 Type mismatch in parameter '__s1' (wanted 'char *', got 'char')
вообще по идее
char *strtok(cher *str1, const char *str2);
где строка адресуеться параметром str1, символы образующие строку str2(пример с книжки) я думал может с массивом можно как нибуть сделать, или мож кто подскажет как можно массив перевести в строку str1 без использования string.
strtok вообще делит строку на лексемы(отдельные слова)

Последний раз редактировалось xVeteRx; 10.04.2009 в 10:30.
xVeteRx вне форума Ответить с цитированием
Старый 10.04.2009, 21:25   #4
xVeteRx
 
Регистрация: 10.04.2009
Сообщений: 7
По умолчанию

я переписал прогу тока выводит билиберду
#include<iostream.h>
#include<conio.h>
int main()
{
char a[40],b[40];int i=0,k;int lenght=0;
do
{
int flag=1;
a[i]=getche();
i++;
if (a[i-1]==13) break;
if (a[i-1]==23)
{
k=i-1;
i=0;
for (int j = 0; j <= k/2; j++)
{
if (a[j]!=a[k-j]) flag=0;
}
}
if (flag==1 && k>lenght)
{
lenght=i;
for (int j=0; j <= k; j++) b[j]=a[j];
}
}while(1);
cout<<endl;
for (i = 0; i <= lenght; i++) cout<<b[i];
getch();
return 0;
}
xVeteRx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заменить самое длинное слово, на самое короткое в Delphi сер4ей Помощь студентам 5 05.03.2009 18:40
Вывести самое длинное слово (Си) ManInBlack Помощь студентам 10 19.01.2009 00:17
Самое симметричное слово Blad47 Паскаль, Turbo Pascal, PascalABC.NET 8 23.11.2008 17:12
С++ Найти самое длинное слово строки k0z7_g0b1in Общие вопросы C/C++ 3 22.04.2007 17:37