Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 5.00
iKapex
3 / 3 / 0
Регистрация: 07.10.2012
Сообщений: 228
#1

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

04.03.2013, 00:47. Просмотров 1355. Ответов 1
Метки нет (Все метки)

Задание: нужно удалить лишние пробелы между словами (если один пробел, то его нужно оставить).

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 <conio.h>
# include <cctype>
# include <iostream>
 
using namespace std;
 
void DeletSpace (char str [] );
 
int main ()
 
{
    char str [ ] = "Delete      my space";
 
     DeletSpace ( str ); 
 
     system ("pause");
}
 
 
void DeletSpace (char  str[] )
{
    int spacecounter = 0;// счетчик пробелов
    int lightarray;
    lightarray = strlen (str); // узнаем длину массива
 
    for (int i=0; i < lightarray; ++i)
    {
        if (isspace (str [i]) ) // если пробел, тогда увеличиваем счетчик пробелов
             ++spacecounter;
 
        if ( isspace (str [i]) == 0 && spacecounter  < 2) // если isspace равно нулю, то isspace возвращает символ; и если счетчик пробелов
                                 
 
                                    // не больше двух, тогда распечатываем этот символ.
           cout << str [i];
 
        else spacecounter = 1; 
    
 
    }
}
Вот сто пудов у меня ошибка в последнем if в моей написанной функции. Исправьте, пжл., кто-нибудь.
Эта прога удаляет ВСЕ пробелы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2013, 00:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строка: Удалить лишние пробелы между словами (C++):

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

Работа с файлами. Удалить все лишние пробелы, оставив между словами не более одного пробела - C++
Дан текстовый файл. Удалить из него все лишние пробелы, оставив между словами не более одного пробела. Результат поместить в новый файл. ...

Выделить в тексте лишние пробелы между словами - C++
ЕЩе одна задачка из Павловской... Прошу помощи!!! Если вам лень решать всю задачу, то меня очень интересует второй пункт... Но буду рад...

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

Вывести на экран содержимое файла удалив лишние пробелы между словами - C++
помогите дописать программу на visual c++ Дан текстовый файл, в котором слова разделены 1 и более пробелами. Вывести на экран содержимое...

Дана строка. Удалить из нее все лишние пробелы - C++
Дана строка. Удалить из нее все лишние пробелы, оставив между словами не более одного. Результат поместить в новую строку.

1
Croessmah
Ушел
Эксперт CЭксперт С++
13554 / 7705 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
04.03.2013, 01:15 #2
C++
1
2
3
4
5
6
7
8
void Trim_SD(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;
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2013, 01:15
Привет! Вот еще темы с ответами:

Строка: удалить лишние пробелы и определить слово с минимальным кол-вом согласных в строке - C++
мое задание : удалить лишние пробелы и определить слово с минимальным кол-вом согласных в строке.... вот моя задача... я удалил лишние...

Убрать в текстовом файле ненужные пробелы, оставив между словами по одному, между предложениями по два. - C++
Мое задание: убрать в текстовом файле ненужные пробелы, оставив между словами по одному, между предложениями по два. Вот программа...

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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