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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Перевод потока из файлового ввода/вывода в консольный ввод/вывод http://www.cyberforum.ru/cpp-beginners/thread901311.html
Есть кусок программы: freopen ("G:\\input.txt", "r", stdin); freopen ("G:\\output.txt", "w", stdout); //Открываем файлы - один для чтения, другой - для записи string a, b; cin >>a>>b; //Выводим два слова и записываем их в переменные a и b cout <<a<<" "<<b; //Вводим эти два слова в поток ввода - они запишутся в output.txt
C++ Классы и деревья (найти ошибку в коде) Проблема с удалением элемента из дерева. Когда удаляю элемент и вывожу дерево на экран программа зацикливается. Помогите исправить! #include "stdafx.h" #include "iostream" #include <fstream> #include <string> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread901310.html
Строки и функции пользователя. Преобразовать заданную пользователем дату в формате «дд.мм.гг» в формат «месяц дд, год» C++
Помогите пожалуйста с программой . Преобразовать заданную пользователем дату в формате «дд.мм.гг» в формат «месяц дд, год». Например, «15.03.10» превращается в «15 марта 2010». В программе использовать функции пользователя. Спасибо.
Получить матричное произведение матриц C++
1.Даны матрицы A, B. Вывести на печать матрицу А+В. 2.Получить матричное произведение матриц С и D. ребят помогите пожалуйста
C++ Строки. Совпадают ли первая и последняя буквы слова, является ли слово перевертышем, вычеркнуть из слова все буквы "а" и "б", стоящие на нечетных мест http://www.cyberforum.ru/cpp-beginners/thread901302.html
1.Определите, совпадают ли первая и последняя буквы слова. 2.Определите, является ли слово перевертышем. 3.Вычеркните из слова все буквы "а" и "б", стоящие на нечетных местах. ребят помогите пожалуйста
C++ Задачка на строки (преобразовать множество старых программ для новой версии компилятора) Доброго времени суток, помогите решить такую вот задачку на строки Заранее благодарен! Условие: подробнее

Показать сообщение отдельно
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
14.06.2013, 00:42     Удалить лишние пробелы
Сделал програму для удаления лишних пробелов из строки(те что стоят в начале строки, в конце, все кроме одного между словами). Програма вроде работает, но если количесто пробелов(во всей строке) будет больше 5 то появляеться ошибка. Если до 5 то все нормально переделавает. Как решить ету проблему?
Кликните здесь для просмотра всего текста
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <string>
 
using namespace std;
 
void delete_spaces(string &str)
{
    int size = str.length();
    //cout << size << endl;
    for(int j = 0; j < size - 1; j++)
    {
        for(int i = 0; i < j - 1; i++)
        {
            if(str[i] == ' ' && str[i+1] == ' ')
            {
                str.erase(str.begin() + i);
            }
            else if(str[0]== ' ')
            {
                str.erase(str.begin());
            }
            else if(str[i] == '\0' && str[i-1]== ' ')
            {
                str.erase(str.end() - 1);
            }
        }
    }
    cout << str << endl;
}
 
void main()
{
    while(true)
    {
        string str;
        cout << "Enter your str" << endl;
        getline(cin, str);
        delete_spaces(str);
        system("pause");
    }
}
Миниатюры
Удалить лишние пробелы  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru