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

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

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

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

18.09.2015, 14:16. Просмотров 303. Ответов 3
Метки нет (Все метки)

Здравствуйте! Есть задача, нужно заменять лишние пробелы из ввода на один пробел, типа такого:
Ввод: Hello, wonderful World!
Вывод: Hello, wonderful world!

При этом важно: не разрешается пользоваться дополнительной памятью, массивами, стандартными контейнерами, строками и прочим.


Сейчас у меня такой код, но он не работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
 
int main() {
    char a = '\0';
    unsigned char b = ' ';
    unsigned char с = '  ';
    unsigned char d = '   ';
    unsigned char e = '    ';
    while (std::cin.get(a)) {
        if (a != b or a != c or a != d or a != e) {
            std::cout << a;
        }
        else {
            break;
        }
    }
        
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2015, 14:16     Убирать лишние пробелы из ввода
Посмотрите здесь:

Лишние пробелы - C++
Здравствуйте. Выполняю задание на microsoft visual studio. Необходимо удалить лишние пробелы в строке, используя массив и нельзя...

Убрать лишние пробелы - C++
отформотировать строку 1)убрать все лишние пробелы 2) убрать 1 пробел после знака препинания ПЕРВУЮ ЗАДАЧУ РЕШИЛ . ...

Удалить лишние пробелы - C++
Сделал програму для удаления лишних пробелов из строки(те что стоят в начале строки, в конце, все кроме одного между словами). Програма...

Удалить лишние пробелы - C++
Вводится строка произвольного текста. Вывести на экран второе слово(слова разделены пробелами) Программа работает, но нужно при вводе...

Удалить лишние пробелы в строке - C++
Добрый день. Прошу написать простую программу по заданию: В строке, введённой с клавиатуры, удалить все лишние пробелы. На форуме...

Лишние пробелы в начале строки - C++
void prog(FILE *input,FILE *output) { char s; char p; while(fgets(s,256,input)!=NULL) { for(int j=0;j&lt;strlen(s);j++) ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5251 / 4571 / 1535
Регистрация: 14.04.2014
Сообщений: 18,171
18.09.2015, 14:23     Убирать лишние пробелы из ввода #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main() {
    char a;
    bool b = false;
    while (std::cin.get(a))
    {
        if (a == ' ')
        {
            if (!b)
            {
                b = true;
                std::cout << a;
            }
        }
        else
        {
            b = false;
            std::cout << a;
        }
    }
        
    return 0;
}
Kerry_Jr
Модератор
Эксперт PHP
2178 / 1974 / 689
Регистрация: 14.05.2014
Сообщений: 5,773
Записей в блоге: 1
Завершенные тесты: 5
18.09.2015, 14:32     Убирать лишние пробелы из ввода #3
Цитата Сообщение от saymeit Посмотреть сообщение
C++
1
2
3
unsigned char с = '  ';
unsigned char d = '   ';
unsigned char e = '    ';
И компилятор Вам не сказал, что слишком много символов пихаете в переменную, и что он учтет только первый, а остальное отбросит?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2015, 14:46     Убирать лишние пробелы из ввода
Еще ссылки по теме:

Убрать лишние пробелы в строке - C++
дана строка-предложение с избыточными пробелами между словами. Преобразовать ее так чтобы между словами оставался один пробел

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

Программа, удаляющая лишние пробелы - C++
На просторах форума столкнулся с программой по удалению лишних пробелов, объясните пожалуйста работу некоторых строк #include...

Удалить из текста лишние пробелы - C++
Здравствуйте. Помогите написатьпрограмму на С. Удалить из текста лишние пробелы (между словами должен остаться только один пробел). И еще...

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

Удалить все лишние пробелы - C++
В чем ошибка? #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { string s;


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

Или воспользуйтесь поиском по форуму:
saymeit
1 / 1 / 0
Регистрация: 13.09.2010
Сообщений: 34
18.09.2015, 14:46  [ТС]     Убирать лишние пробелы из ввода #4
nmcf, спасибо!
Kerry_Jr, он ругнулся у меня на эти строчки конечно, я просто пока не знаю, как можно по-другому сделать, теперь благодаря nmcf увидел, что можно
Yandex
Объявления
18.09.2015, 14:46     Убирать лишние пробелы из ввода
Ответ Создать тему
Опции темы

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