Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Мишка Косолапый :)
284 / 254 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
1

Функция удаления из строки цифр

29.09.2014, 17:18. Показов 1431. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание: Напишите программу, которая осуществляет изменение обрабатываемой строки, удаляя из неё все цифры.

Как вообще создать такую функцию?
C++
1
char f(char c[])
Пробовал так, но не получается.
Я хочу чтобы это была именно функция и чтобы её можно было использовать так:
C++
1
printf("%c", f(c[]));
Где c[] является строкой с цифрами, но напечатается уже без цифр.
И объясните пожалуйста, как работать внутри функции с return.

Знаю что в паскале это result и он как переменная, можно к нему прибавлять новое, а тут так можно? Или все записывать в переменную, а затем написать return "переменная"

Добавлено через 4 минуты
И подскажите ещё как быть с длиной строк? Ведь я хочу строку любой длины вводить в консоль и выводить эту же строку без цифр.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2014, 17:18
Ответы с готовыми решениями:

Функция для удаления со строки слов
Здравствуйте, помогите написать функию для удаления все слов которые не имеют окончание ing.

Функция удаления цифр из числа
Дано число n и k. Например n=213569, а K=3. То нужно убрать три цифры из N, что бы получить...

Не могли бы объяснить, как работает эта функция для удаления цифр?
char* delDig(char *S) { int i,j; i=0; for (j=0; j<strlen(S); j++) if ((S <...

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

2
1 / 1 / 3
Регистрация: 22.09.2014
Сообщений: 20
29.09.2014, 17:54 2
Не вникая глубоко в вопрос, первое что бросается в глаза строка
C
1
printf("%c", f(c[]));
Вы хотите выводить строку, а формат вывода выбираете одиночный символ.
1
430 / 384 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
29.09.2014, 19:24 3
Лучший ответ Сообщение было отмечено zuxa-zuxa как решение

Решение

Цитата Сообщение от zuxa-zuxa Посмотреть сообщение
Ведь я хочу строку любой длины
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <stdio.h>      // puts, getchar
#include <ctype.h>      // isdigit
#include <stdlib.h>     // malloc, free
 
typedef
    struct String {
        char* buf;
        unsigned int len;
        unsigned int siz;
    }
*String;
 
void
String_Init(String this)
{
    this->len = 0;
}
 
String
String_New(const unsigned int init_siz)
{
    String new = (String) malloc(sizeof(struct String));
    new->siz = init_siz;
    new->buf = (char*) malloc(sizeof(char) * new->siz);
    String_Init(new);
    return new;
}
 
void
String_Delete(String this)
{
    free(this->buf);
    free(this);
    this = NULL;
}
 
void
String_Add(String this, const int c)
{
    this->buf[this->len] = c;
    this->len += 1;
    if( this->len == this->siz ) {
        this->siz *= 2;
        this->buf = realloc(this->buf, this->siz);
    }
}
 
char*
String_Get(String this)
{
    this->buf[this->len] = '\0';
    return this->buf;
}
 
void
String_Print(String this)
{
    puts(String_Get(this));
}
 
int
main(void)
{
    String input = String_New(32);
    String output = String_New(16);
 
    while( 1 ) {
        String_Init(input);
        int c;
        while( (c = getchar()) != EOF && c != '\n' ) {
            String_Add(input, c);
        }
 
        char* str = String_Get(input);
        if( *str == '\0' ) { break; }
 
        String_Init(output);
        while( c = *str++ ) {
            if( !isdigit(c) ) { String_Add(output, c); }
        }
        String_Print(output);
    }
 
    String_Delete(output);
    String_Delete(input);
 
    return 0;
}
0
29.09.2014, 19:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2014, 19:24
Помогаю со студенческими работами здесь

Функция удаления строки с номером к из списка
Хелп , заранее спасибо

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

Функция удаления из строки n-символов, начиная с q-го
напишите функцию удаления из строки n-символов, начина с q-го

Функция удаления из строки всех точек
Нужно разработать рекурсивную функцию для удаления всех точек из строки. Вот, что у меня...

Функция для удаления слова из строки
Доброго времени суток, господа! Столкнулся с проблемой написания функции для удаления слова из...

Функция для удаления строки из двумерного массива
Массив должен передаваться в функцию как параметр. Написать функцию для удаления строки из...


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

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