Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
igor223
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 38
#1

Удалить лишние пробелы в строке - C++

02.04.2014, 14:27. Просмотров 1049. Ответов 4
Метки нет (Все метки)

Дано строку. Удалить лишние пробелы.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2014, 14:27     Удалить лишние пробелы в строке
Посмотрите здесь:
C++ Удалить лишние пробелы в строке
C++ Удалить лишние пробелы в строке
В символьной строке удалить все лишние подряд идущие пробелы. C++
В символьной строке удалить все лишние подряд идущие пробелы. C++
Удалить в строке лишние пробелы, оставив между словами ровно по одному C++
Удалить в каждой строке лишние пробелы; исходную информацию считать из текстового файла C++
Строка: удалить лишние пробелы и определить слово с минимальным кол-вом согласных в строке C++
Удалить лишние пробелы C++
Удалить лишние пробелы C++
Удалить все лишние пробелы C++
C++ Удалить из текста лишние пробелы
Убрать лишние пробелы в строке C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
02.04.2014, 14:42     Удалить лишние пробелы в строке #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "iostream"
 
 
void foo(char * dest, char * source){
    for(char *p1=source,*p2=dest; (*p2=*p1);++p1,++p2){
        if(*p1!=' ') continue;
        for(;*p1==' ';++p1);
            p2+=(p2==dest || !(*p1))?0:1;
            *p2=*p1;
    }
}
 
 
int main()
{
   char str[120] = "   my   string  !   " ;
   foo ( str , str ) ;
   std::cout << str << std::endl ;
}
igor223
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 38
02.04.2014, 18:06  [ТС]     Удалить лишние пробелы в строке #3
Croessmah,
Цитата Сообщение от Croessmah Посмотреть сообщение
char * dest, char * source
а дял чево ?
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
02.04.2014, 18:36     Удалить лишние пробелы в строке #4
Цитата Сообщение от igor223 Посмотреть сообщение
а дял чево ?
что для чего?
source откуда берем строку, dest - куда результат пихаем. Функция написана так, что можно использовать один и тот же массив использовать

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
void foo(char * dest, const char * source){
    for(char *p1=dest ; (*p1=*source);++source,++p1){
        if(*source!=' ') continue;
        for(;*source==' ';++source) ;
         p1+=!(p1==dest || !(*source));
         *p1=*source;
    }
}
igor223
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 38
02.04.2014, 18:44  [ТС]     Удалить лишние пробелы в строке #5
Croessmah,
Цитата Сообщение от Croessmah Посмотреть сообщение
?0:1;
в это еще не понимаю
Yandex
Объявления
02.04.2014, 18:44     Удалить лишние пробелы в строке
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru