Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
sswt
0 / 0 / 3
Регистрация: 31.08.2015
Сообщений: 49
1

Удалить из строки некоторые символы

23.09.2015, 18:02. Просмотров 227. Ответов 2
Метки нет (Все метки)

написать указатель функции, принимает на вход строку и возвращает на выходе его копию так, чтобы в ней не было громких английских букв и точки с запятой. У меня есть функция которая ищет и выводит на екран строку без гластных и крапки с комой. Но я хочу так как там 2 if однаковых заменит их на указател на еще одну функию в котрой я все это и буду проверять
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
char* StrCopyDistionary( const char* inStr)
{
    int len = 0;
    int out = 0;
 
    for (int index = 0; inStr[index] !='\0'; ++index)
    {
        if (!(inStr[index] == 'a' ||
            inStr[index] == 'e' || 
            inStr[index] == 'i' || 
            inStr[index] == 'y' || 
            inStr[index] == 'u' || 
            inStr[index] == 'o' || 
            inStr[index] == ';'))
            ++len;
    }
 
    char* outStr = (char*)malloc((len + 1) * sizeof(char));
    for (int index = 0; inStr[index] != '\0'; ++index)
    {
        if (!(inStr[index] == 'a' ||
            inStr[index] == 'e' || 
            inStr[index] == 'i' ||
            inStr[index] == 'y' || 
            inStr[index] == 'u' || 
            inStr[index] == 'o' || 
            inStr[index] == ';'))
            outStr[out++] = inStr[index];
    }
    outStr[out] = '\0';
    
    return outStr;
}
C
1
2
3
4
const char* str4 = "1a2buycigfd3744bhqwdc";
    char* strCopyDistionary = StrCopyDistionary(str4);
    printf("strCopyDistionary:%s\n", strCopyDistionary);
    free(strCopyDistionary);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2015, 18:02
Ответы с готовыми решениями:

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A
Даны строки A и B. Если в A есть повторяющиеся символы, а в B нет повторяющихся...

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

Удалить из строки все двойные символы
Разработать программу согласно варианту задания. Максимальная длина строк не...

Удалить из строки все двойные символы
Дана строка. Удалить из строки все двойные символы. Пример: “asddewwf” →...

Удалить из строки все числовые символы
Всем добрый вечер, просьба переделать код на язык C с языка C++ или написать...

2
Митя800
66 / 66 / 19
Регистрация: 13.07.2015
Сообщений: 219
23.09.2015, 18:36 2
Указатель на функцию выглядит примерно так:
C
1
int (*foo)(int, int)
Дальше пробуйте сделать сами для свой задачи.
0
sswt
0 / 0 / 3
Регистрация: 31.08.2015
Сообщений: 49
23.09.2015, 18:46  [ТС] 3
Посмотрела по примеру в книге. Я правильно сделала?
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
int strDistionary(const char* inStr, int index)
{
    if (!(inStr[index] == 'a' ||
        inStr[index] == 'e' ||
        inStr[index] == 'i' ||
        inStr[index] == 'y' ||
        inStr[index] == 'u' ||
        inStr[index] == 'o' ||
        inStr[index] == ';'));
    return !inStr[index];
}
char* StrCopyDistionary( const char* inStr)
{
    int len = 0;
    int out = 0;
 
    for (int index = 0; inStr[index] !='\0'; ++index)
    {
            int(*pStr)(const char*, int) = strDistionary;
            ++len;
    }
 
    char* outStr = (char*)malloc((len + 1) * sizeof(char));
    for (int index = 0; inStr[index] != '\0'; ++index)
    {
        int(*pStr)(const char*, int) = strDistionary;
        outStr[out++] = inStr[index];
    }
    outStr[out] = '\0';
    
    return outStr;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2015, 18:46

Удалить из строки все четные символы
есть функция. Я не понимаю,как она работает, помогите, пожалуйста void...

Удалить все символы строки, записанные кириллицей
В данной программе нужно удалить все цифры. Так-же интересно, как удалить все...

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


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

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

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