Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
kruss802
0 / 0 / 0
Регистрация: 15.03.2018
Сообщений: 21
1

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

21.06.2018, 00:19. Просмотров 230. Ответов 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
#include <stdio.h>
int main()
{
  char str[80];
  int i, d;
  printf("Vvedite stroku: \n");
  gets(str);
  i = 0;
  d = 0;
  while (str[i])
  {
    if (str[i] == ' ')
    {
      d = 1;
    }
      else
      {
        if (d)
        {
          printf(" ");
        }
        printf("%c", str[i]);
        d = 0;
      }
    i++;
  }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2018, 00:19
Ответы с готовыми решениями:

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

Удалить из файла с текстом все лишние пробелы
удалить из файла с текстом все лишние пробелы. Оставшееся переписать во второй...

Удалить из файла все однобуквенные слова и лишние пробелы
Дан символьный файл f. Группы символов, разделенные пробелами (одним или...

Удалить из файла все однобуквенные слова и лишние пробелы
Дан символьный файл f. Группы символов, разделенные пробелами (одним или...

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

1
LightProger
38 / 38 / 15
Регистрация: 29.12.2016
Сообщений: 291
21.06.2018, 17:43 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
 
/*
 * Напишите программу, копирующую символы ввода в выходной поток и заменяющую
стоящие подряд пробелы на один пробел.
 */
int main() {
 
    int c, ns = 0;
    int flag = 1;
 
        printf("Enter string: ");
        printf("\n");
        while(flag == 1)
        {
            c = getchar();
 
            if(c != ' ')
            {
                ns = 0;
            }
 
            else if(c == ' ')
            {
                ++ns;
            }
 
             if(ns <= 1)
            {
                printf("%c", c);
            }
 
            if(c == '\n')
            {
                flag = 0;
            }
        }
 
    printf("\n");
    return flag;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2018, 17:43

Удалить из строки все лишние пробелы: в начале, в конце, повторяющиеся
Дана строка предложение. Удалить из строки все лишние пробелы: в начале, в...

Удалить из файла лишние пробелы, оставив по одному между словами
Добрый день. Помогите с программой. Заранее спасибо. Дан файл, содержащий...

Удалить лишние пробелы из строки, а потом вывести те слова, которые имеют четное количество букв
Было задание: Удалить лишние пробелы из строки, а потом вывести те слова,...


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

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

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