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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Cras
0 / 0 / 0
Регистрация: 03.01.2011
Сообщений: 16
#1

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

03.01.2011, 14:03. Просмотров 1682. Ответов 6
Метки нет (Все метки)

Здравствуйте. Помогите написатьпрограмму на С. Удалить из текста лишние пробелы (между словами должен остаться только один пробел). И еще на каждые 5 строк программы должны быть коментарии.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2011, 14:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить из текста лишние пробелы (C++):

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
03.01.2011, 14:09 #2
Cras,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
 
#define BUFSIZE 256
 
int main(void)
{
    char str[BUFSIZE], *p;
    printf("\n\nEnter string -> ");
    scanf("%[^\n]%*c", str);
 
    printf("\n\nResult -> ");
    for(p = strtok(str, " "); p; p =strtok(NULL, " "))
        printf("%s ", p);
 
    printf("\n");
    return 0;
}
Результат
Код
Enter string -> kjfhsdjkf    dfhdfgd    dhgfdh    dhfd


Result -> kjfhsdjkf dfhdfgd dhgfdh dhfd

Process returned 0 (0x0)   execution time : 6.406 s
Press any key to continue.
0
silent_1991
03.01.2011, 14:57
  #3

Не по теме:

asics, вы забыли в 5-й, 10-й и 15-й строке комменты поставить

0
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
03.01.2011, 15:16 #4
silent_1991, Исправляюсь
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
                          //Комент
#define BUFSIZE 256
 
int main(void)
{
    char str[BUFSIZE], *p;
    printf("\n\nEnter string -> ");
    scanf("%[^\n]%*c", str);//Комент
 
    printf("\n\nResult -> ");
    for(p = strtok(str, " "); p; p =strtok(NULL, " "))
        printf("%s ", p);
                            //Комент
    printf("\n");
    return 0;
}
2
Cras
0 / 0 / 0
Регистрация: 03.01.2011
Сообщений: 16
03.01.2011, 19:59  [ТС] #5
Вбиваю любую строчку и в результате пишет <null> что такое?
0
Jupiter
03.01.2011, 20:28
  #6

Не по теме:

Цитата Сообщение от asics Посмотреть сообщение
scanf("%[^\n]%*c", str);
интересная конструкция, где вы такое откопали?

0
NightmareZ
1340 / 563 / 37
Регистрация: 31.03.2009
Сообщений: 1,919
03.01.2011, 21:41 #7
Цитата Сообщение от Maxwe11 Посмотреть сообщение

Не по теме:


интересная конструкция, где вы такое откопали?

Это ж банальщина, в любой книге по C есть Как вообще можно писать на C, не зная этого?

Спецификатор %[] позволяет указать, какие символы нужно вводить. Например %[ABC] указывает, что нужно вводить только символы 'A', 'B' и 'C', а %[A-Z] - что любые символы от 'A' до 'Z' включительно. Символ ^ заставляет работать функцию scanf наоборот - вводить все символы, кроме указанных. Например, %[^ABC] - вводить любые символы кроме 'A', 'B' и 'C'.

Следовательно, конструкция %[^\n] заставляет вводить всё, кроме перевода строки.

Звёздочка перед спецификатором позволяет прочитать поле, но не присваивать ничему. Т.е. выражение %*c позволяет считать и пропустить один символ.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2011, 21:41
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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