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

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

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

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

21.01.2013, 21:29. Просмотров 621. Ответов 6
Метки нет (Все метки)

Помогите создать программу которая вычитает лишние пробелы из текста который надо ввести с клавиатуры(между словами должно быть не более 1 пробела, если будет 2 или более программа должна удалить пробел)

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

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.01.2013, 14:54 #2
Цитата Сообщение от Unnamed2 Посмотреть сообщение
Уже нашел ответ.
Нашли ответ - поделитесь. Он может оказаться интересен другим пользователям.
0
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");
}
0
Somebody
2789 / 1603 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
28.01.2013, 18:50 #4
C++
1
2
for (char *dst = str, *src = str; (*dst = *src++) != '\0'; )
    dst += (*src != ' ' || *dst != ' ');
0
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");
}
А может лучше написать в два символьных массива, да бы уменьшить процессорное время?
0
Croessmah
Эксперт CЭксперт С++
13231 / 7503 / 846
Регистрация: 27.09.2012
Сообщений: 18,428
Записей в блоге: 3
Завершенные тесты: 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 != ' ');
тоже самое
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
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, " ") );
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2013, 22:08
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.01.2013, 22:08
Ответ Создать тему
Опции темы

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