Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 31
1

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

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

Author24 — интернет-сервис помощи студентам
Люди,очень прошу!помогите написать несколько программа,через неделю зачёт,а я вообще ничего не успеваю...
3.Написать и протестировать функцию compress(), которая «сжимает» строку, удаляя из нее все пробелы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2012, 01:30
Ответы с готовыми решениями:

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

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

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

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

3
Неэпический
18099 / 10685 / 2061
Регистрация: 27.09.2012
Сообщений: 26,895
Записей в блоге: 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
Эксперт С++
4267 / 2241 / 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
01.07.2013, 13:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2013, 13:46
Помогаю со студенческими работами здесь

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

Сжать некоторую строку, удалив из нее все пробелы
Ребят, помогите пожалуйста решить, сам не смогу, не достаточно знаний. Задание: Дан текст из...

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

Написать строку справа налево, удалив из нее все цифры и пробелы ^_^
Дана символьная строка, содержащая русские буквы, цифры и пробелы. Написать строку справа налево,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru