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

Вычитатель пробелов(удалить из текста лишние пробелы) - C++

Восстановить пароль Регистрация
 
Unnamed2
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 5
21.01.2013, 21:29     Вычитатель пробелов(удалить из текста лишние пробелы) #1
Помогите создать программу которая вычитает лишние пробелы из текста который надо ввести с клавиатуры(между словами должно быть не более 1 пробела, если будет 2 или более программа должна удалить пробел)

Добавлено через 9 минут
Уже нашел ответ.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2013, 21:29     Вычитатель пробелов(удалить из текста лишние пробелы)
Посмотрите здесь:

C++ Удалить из текста лишние пробелы
Удалить из файла все лишние пробелы C++
Удалить лишние пробелы C++
Строка: Удалить лишние пробелы между словами C++
Удалить лишние пробелы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
25.01.2013, 14:54     Вычитатель пробелов(удалить из текста лишние пробелы) #2
Цитата Сообщение от Unnamed2 Посмотреть сообщение
Уже нашел ответ.
Нашли ответ - поделитесь. Он может оказаться интересен другим пользователям.
Hello_World72
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 9
28.01.2013, 16:39     Вычитатель пробелов(удалить из текста лишние пробелы) #3
Писал подобную программу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "stdafx.h" 
#include <iostream>
#include <string.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    char str[] = "привет           Карамзин             by Макулатура";
 
    int m = strlen(str);
 
    puts(str);
 
    for (int i = 0; i < m; i++)
        while ((str[i] ==' ') && (str[i+1]==' '))
            for (int j = i+1; j < m; j++)
                str[j] = str[j+1];
            
    
    puts(str);
 
    system("PAUSE");
}
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
28.01.2013, 18:50     Вычитатель пробелов(удалить из текста лишние пробелы) #4
C++
1
2
for (char *dst = str, *src = str; (*dst = *src++) != '\0'; )
    dst += (*src != ' ' || *dst != ' ');
shadowcraft94
 Аватар для shadowcraft94
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 18
28.01.2013, 21:26     Вычитатель пробелов(удалить из текста лишние пробелы) #5
Цитата Сообщение от Hello_World72 Посмотреть сообщение
Писал подобную программу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "stdafx.h" 
#include <iostream>
#include <string.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    char str[] = "привет           Карамзин             by Макулатура";
 
    int m = strlen(str);
 
    puts(str);
 
    for (int i = 0; i < m; i++)
        while ((str[i] ==' ') && (str[i+1]==' '))
            for (int j = i+1; j < m; j++)
                str[j] = str[j+1];
            
    
    puts(str);
 
    system("PAUSE");
}
А может лучше написать в два символьных массива, да бы уменьшить процессорное время?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
28.01.2013, 21:35     Вычитатель пробелов(удалить из текста лишние пробелы) #6
Цитата Сообщение от Hello_World72 Посмотреть сообщение
Писал подобную программу
Не удаляет пробелы вначале и в конце.
Цитата Сообщение от Somebody Посмотреть сообщение
C++
1
2
for (char *dst = str, *src = str; (*dst = *src++) != '\0'; )
    dst += (*src != ' ' || *dst != ' ');
тоже самое
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2013, 22:08     Вычитатель пробелов(удалить из текста лишние пробелы)
Еще ссылки по теме:

Удалить все лишние пробелы C++
Удалить лишние пробелы в строке C++
Удалить из текста лишние пробелы (из нескольких подряд идущих пробелов оставить только один) C++

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
28.01.2013, 22:08     Вычитатель пробелов(удалить из текста лишние пробелы) #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <sstream>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    std::istringstream ist(str);
    std::copy(std::istream_iterator<std::string>(ist),
              std::istream_iterator<std::string>(),
              std::ostream_iterator<std::string>(std::cout, " ") );
}
Yandex
Объявления
28.01.2013, 22:08     Вычитатель пробелов(удалить из текста лишние пробелы)
Ответ Создать тему
Опции темы

Текущее время: 19:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru