Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Zheka1992
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 4
1

Удалить группы пробелов, которыми начинается и заканчивается строка, а каждую внутреннюю группу пробелов заменить одним пробелом

06.01.2013, 17:25. Просмотров 1183. Ответов 5
Метки нет (Все метки)

Задана строка символов. Преобразовать эту строку следующим образом: удалить группы пробелов, которыми начинается и заканчивается строка, а каждую внутреннюю группу пробелов заменить одним пробелом.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2013, 17:25
Ответы с готовыми решениями:

Заменить каждую группу внутренних пробелов одним пробелом
Дана строка слов, разделенных пробелами. Сформируйте но- вую строку, заменив каждую группу...

Последовательности следующих друг за другом пробелов заменить одним пробелом (т.е. удалить все пробелы, следующие непосредственно за пробелом)
Последовательности следующих друг за другом пробелов заменить одним пробелом (т.е. удалить все...

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

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

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

5
Croessmah
++Ͻ
15325 / 8699 / 1660
Регистрация: 27.09.2012
Сообщений: 21,448
Записей в блоге: 2
Завершенные тесты: 2
06.01.2013, 18:33 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
Zheka1992
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 4
06.01.2013, 19:34  [ТС] 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
27
28
29
30
31
32
#include <stdio.h> 
#include <stdlib.h>
#include <conio.h> 
 
int WasFound(char const str[], int i, int from)
{
    for(int j=from; j<i; j++) if(str[j]==str[i]) return 1;
    return 0;
}
    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;
    }
}
    int main()
{
    char str1[256], str2[256]=""; 
    printf("Program make string frrom Your string removing each repeating character in each word\n");
    printf("Enter Your string:\n");
    gets(str1);
    Trim_SD(str1, str2);
    printf("String after convertion:\n");
    puts(str2);
    system("PAUSE");
    return EXIT_SUCCESS;
}

Исправьте пожалуйста ошибки
Строка после не появляется
0
Croessmah
++Ͻ
15325 / 8699 / 1660
Регистрация: 27.09.2012
Сообщений: 21,448
Записей в блоге: 2
Завершенные тесты: 2
06.01.2013, 19:40 4
C++
1
Trim_SD(str2, str1);
И еще, функция устроена так, что можно исправить саму строку:
C++
1
2
3
Trim_SD(str1, str1);
//...
puts(str1);
1
Igor3D
1228 / 595 / 74
Регистрация: 01.10.2012
Сообщений: 2,844
06.01.2013, 19:47 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void RemBlank( char * src )
{
  char * dst = src;
  bool prevBlank = false;
  bool first = true;
  while (*src) {
   if (*src == ' ')  
    prevBlank = true;
   else {
     if (prevBlank && !first) 
      *(dst++) = ' ';
     *(dst++) = *src;
     prevBlank = false;
     first = false;
   }
   ++src;
  }
  *dst = 0;
}
1
Zheka1992
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 4
06.01.2013, 20:01  [ТС] 6
Все Спасибо получилось
0
06.01.2013, 20:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2013, 20:01

О передаче массива в функцию, которая заменяет серию пробелов одним пробелом
Нужно написать функцию, чтоб она получала символьный массив L, и возвращала массив Lsource в...

Если предложение начинается с пробелов, считать строку после пробелов. Правильно ли работает функция?
Скажите пожалуйста правильно ли я написала функцию которая: если предложение начинается с пробелов...

Доделать программу, которая заменяет группы пробелов одним
Помогите доделать программу, чтобы группы пробелов,которые стоят в начале и конце строки удалились,...


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

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

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