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

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

Войти
Регистрация
Восстановить пароль
 
Temirlan90
 Аватар для Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
#1

Строки - C++

04.11.2010, 12:38. Просмотров 433. Ответов 3
Метки нет (Все метки)

Даны натуральное число n, символы S1,..,Sn. Известно, что среди данных символов есть хотя бы один, отличный от пробела.
Требуется преобразовать последовательность S1,..,Sn следующим образом. Удалить группы пробелов, которыми начинается и
которыми заканчивается последовательность, а также заменит каждую внутреннюю группу пробелов одним пробелом.
Если указанных групп нет в данной последовательности, то оставить последовательность без изменения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2010, 12:38     Строки
Посмотрите здесь:

C++ В двумерном массиве целых чисел добавить строки после строки, содержащей простое число

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 413
Записей в блоге: 2
Завершенные тесты: 1
04.11.2010, 17:05     Строки #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
цикл
{
   условие(если есть в строке сдвоенные пробелы)
   {
      замена двух пробелов одним
   }
   иначе
   {
      условие(если есть в начале строки пробел)
      {
          вырезание первого символа
      }
      условие(если есть в конце строки пробел)
      {
          вырезание последнего символа
      }
      выход из цикла
   }
}
Temirlan90
 Аватар для Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
04.11.2010, 17:43  [ТС]     Строки #3
а ты не мог бы кодом написать=)
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 413
Записей в блоге: 2
Завершенные тесты: 1
04.11.2010, 19:39     Строки #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
42
43
44
45
46
#include "stdafx.h"
#include <conio.h>
#include "string.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    char str[100];
    gets(str);
    bool flag = true;
    for(int i=0;flag;i++)
    {
        int n=strlen(str);
        int k=n+2;
        int j;
        for(j=0;k!=j-1; j++)
        {
            if(str[j]==' ' && str[j+1]==' ')
            {
                k=j;
            }
        }
        if(k==j-1 && j<n)
        {
            char * str1 = str+k+1;
            str[k]='\0';
            strcat(str,str1);
        }
        else
        {
            if(str[0]==' ')
            {
                char * str1 = str+1;
                str[0]='\0';
                strcat(str,str1);
            }
            n=strlen(str);
            if(str[n-1]==' ')
            {
                str[n-1]='\0';
            }
            flag=false;
        }
    }
    printf("%s",str);
    getch();
}
Yandex
Объявления
04.11.2010, 19:39     Строки
Ответ Создать тему
Опции темы

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