Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Удаление из строки слов четной длины [C++ (DOS) ]

23K
18 мая 2007 года
S!nner
10 / / 16.05.2007
написал функцию для удаления из строки слов четной длинны, но при втором вызове srtlen прога вылетает с ошибкой, подскажите что не так
Код:
void clean(char *src)
{
char *temp;
char result[256];
char *p=" ";
temp=strtok(src,p);
 if (fmod((strlen(temp)),2)!=0)
    {
    strcpy(result,temp);
    strcat(result,p);
    }
do
 {
   temp=strtok(NULL,p);
  if (fmod(strlen(temp),2!=0))
      {
      strcat(result,temp);
      strcat(result,p);
      }
 }
 while (temp!=NULL);
 cout <<"Result= "<< result << '\n';
}

Заранее благодарю
320
18 мая 2007 года
m_Valery
1.0K / / 08.01.2007
Код:
#include <iostream>
using namespace std;
void clean(char *src)
{
   char *token;
   char seps[]   = " ";
   token = strtok( src, seps );
   while( token != NULL )
   {
      if(strlen(token) %2 != 0)
      cout<<token<<' ';
      token = strtok( NULL, seps );
   }
}
int main()
{  
  char str[] = "123 4567 898 234234";
  clean(str);
  return 0;
}

печатает слова только нечетной длины.
4.3K
18 мая 2007 года
flat
142 / / 27.12.2005
в твоей функции надо использовать цикл while, а не do...while
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог