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

Строки - C++

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

C++ Скопировать второе слово каждой строки в начало следующей строки
c++ Даны две строки: S1 и S2. Определить количество вхождений строки S2 в строку S1. C++
C++ Поменять первый элемент строки с максимальным элементом этой строки
Выявить строки, в которых макс. эл-т больше суммы остальных эл-ов строки C++
C++ Переставить строки матрицы по возрастанию максимальных элементов каждой строки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 403
Записей в блоге: 2
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
Сообщений: 403
Записей в блоге: 2
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     Строки
Ответ Создать тему
Опции темы

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