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

Сжать строку, удалив из нее все пробелы

18.12.2012, 01:30. Просмотров 552. Ответов 3
Метки нет (Все метки)

Люди,очень прошу!помогите написать несколько программа,через неделю зачёт,а я вообще ничего не успеваю...
3.Написать и протестировать функцию compress(), которая «сжимает» строку, удаляя из нее все пробелы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 01:30
Ответы с готовыми решениями:

Тестовые файлы: преобразовать строку, удалив из нее все четырехбуквенные слова
помогите пожалуйста разобраться, нужно преобразовать строку , удалив из нее все...

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

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

Обработка строк. Преобразовать строку, удалив из нее все символы, не являющиеся буквами или цифрами
Дана строка символов. Преобразовать строку, удалив из нее все символы, не...

Написать и протестировать функцию compress(), которая "сжимает" строку, удаляя из нее все пробелы.
Приветик всем.Немогли бы вы мне написать эти 2 програмки Написать и...

3
Croessmah
++Ͻ
14740 / 8422 / 1597
Регистрация: 27.09.2012
Сообщений: 20,714
Записей в блоге: 2
Завершенные тесты: 1
18.12.2012, 02:27 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
void compress(char *str){
    for(char *p1=str,*p2=str;*p2=*p1;p2+=(*(p1++)==' ')?0:1);
}
 
int main(){
    char str[]="  abc   df dfgf d  D ";
    compress(str);
    std::cout<<str;
    std::cin.get();
    return 0;
}
2
Thinker
Эксперт С++
4234 / 2208 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
01.07.2013, 12:42 3
Croessmah, пару закарючек убрал :
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 void compress(char *str){
    for(char *p1 = str, *p2 = str; *p2 = *p1; p2 += !(*(p1++) == ' '))
       ;
}
int main(){
    char str[]="  abc   df dfgf d  D ";
    compress(str);
    std::cout<<str;
    std::cin.get();
    return 0;
}
1
-=ЮрА=-
Заблокирован
Автор FAQ
01.07.2013, 13:46 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
#include <stdio.h>
#include <string.h>
 
char * compress(char * text, const char * delims);
 
int main()
{
    char text[] = "This  - is  an   example, of text; ";
    printf("Input : %s\n", text);
    printf("Output: %s\n",  compress(text, " ,.;!?"));
    getchar();
    return 0;
}
 
char * compress(char * text, const char * delims)
{
    char * tok = strtok(text, delims);
    while( tok )
    {
        tok = strtok(NULL, delims);
        if( tok )
            sprintf(text, "%s%s",text, tok);
    }
    return text;
}
Достоинством служит тот факт что кроме пробелов алгоритм допускает и другие разделители
, а также нестандартное на мой взгляд использование strtok
http://codepad.org/YqBtvTcT
0
Миниатюры
Сжать строку, удалив из нее все пробелы  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2013, 13:46

Написать и протестировать функцию compress(), которая "сжимает" строку, удаляя из нее все пробелы.
Добрый вечер))не могли бы вы мне помочь с задачками,они в принципе лёгкие ,мы...

Скопировать строку удалив пробелы
Подскажите пожалуйста как сделать: Дана строка,скопировать её в другую...

Сжать массив, удалив из него все нулевые элементы
Программа должна сжать массив, удалив из него все нулевые элементы.но типичная...


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

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

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