6 / 5 / 4
Регистрация: 07.11.2014
Сообщений: 58
1

В заданной строке удалить все лишние пробелы, заменяя несколько подряд идущих пробелов одним

07.11.2014, 21:05. Показов 2309. Ответов 2
Метки нет (Все метки)

Добрый день. Столкнулся с проблемой в программе. Пробелы удаляет, но если ввести пробелы перед строкой, то их не удалит.
Полное задание:
Написать функцию, которая позволяет в заданной строке удалить все лишние пробелы, заменяя несколько подряд идущих пробелов одним.
Специфика состоит в том, что в задании нельзя использовать библиотечные функции обрабатывания строк.
Ниже код моей программы:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
int prob(char s)
{
    int d;
    d = 0;
printf("Input your text:\n");
while ((s = getchar()) != EOF) 
    {
        if (s == ' ')       
            d++;
        if (d <= 1 )        
            putchar (s);
        if (s != ' '&&d > 1)  
            putchar (s);
        if (s != ' ')       
            d=0;
    }
    printf("Press any key to exit...");
}
C помощью еще одного цикла и метки смог избавится от проблемы, однако это только при первой вводе строки. При повторном вводе и если перед строкой пробелы - все равно один пробел остается.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2014, 21:05
Ответы с готовыми решениями:

В символьной строке удалить все лишние подряд идущие пробелы
Помогите написать программу. Все изменения строки производить в том же массиве. Не допускается...

Заменить несколько подряд идущих пробелов одним
Программе задается имя входного текстового файла. Программа должна осуществлять вывод на экран...

Удалить символы в строке, стоящие на четных местах; удалить лишние пробелы и знаки табуляции в строке, заменив одним пробелом
Надо удалить символы в строке, стоящие на четных местах. И удалить лишние пробелы и знаки табуляции...

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

2
Модератор
Эксперт С++
12099 / 9772 / 5908
Регистрация: 18.12.2011
Сообщений: 26,235
08.11.2014, 12:35 2
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
int main()
{
  int d=0;
  char s;
  setlocale(0,"");
  while ((s = getchar())==' ')
     ;
  putchar(s);
  while ((s = getchar()) != EOF) 
  {
     if (s == ' ')       
            d=1;
     else 
     {
         if(d)
         {
            putchar(' ');
            d=0;
         }
         putchar (s);
     }
  }
  printf("Press any key to exit...");
  return 0;
}
1
6 / 5 / 4
Регистрация: 07.11.2014
Сообщений: 58
08.11.2014, 15:44  [ТС] 3
Скрин:

В заданной строке удалить все лишние пробелы, заменяя несколько подряд идущих пробелов одним


Спасибо, но с проблемой не помогло. Если печатать дальше, то пробел в начале строки все равно остается.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2014, 15:44
Помогаю со студенческими работами здесь

Подсчитать количество подряд идущих пробелов в строке
Дана строка пробелов подсчитать количество подряд идущих пробелов. Не работает если нет ни одного...

Подсчитать наибольшее количество подряд идущих пробелов в строке
Дана строка символов.Подсчитать наибольшее количество подряд идущих пробелов.

Подсчитать максимальное количество идущих подряд пробелов в строке
Здравствуйте, я новичок, сижу вот, парюсь. Допилите программу пожалуйста. Подсчитать максимальное...

Заменить в строке каждую серию подряд идущих пробелов на один пробел
Заменить в строке каждую серию подряд идущих пробелов на один пробел.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru