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

Из первой заданной строки удалить каждый символ, принадлежащий второй - C++

Восстановить пароль Регистрация
 
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
21.11.2011, 16:40     Из первой заданной строки удалить каждый символ, принадлежащий второй #1
Составить процедуру в результате которой из первой заданной строки будет удалятся каждый символ принадлежащий и второй заданной строке
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2011, 16:40     Из первой заданной строки удалить каждый символ, принадлежащий второй
Посмотрите здесь:

C++ Как из первой строки удалить те буквы, которые есть во второй строке?
Удалить из первой строки символы, которых нет во второй C++
C++ Удалить из первой строки все символы, содержащиеся во второй строке
C++ Удалить из первой строки все символы, содержащиеся во второй строке
C++ Удалить из первой последовательности каждый символ, принадлежащий и второй
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.11.2011, 19:55     Из первой заданной строки удалить каждый символ, принадлежащий второй #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <string.h>
    
char * remove_chars(char * str, const char * chars){
    char * p;
    
    while ( p = strpbrk(str, chars) )
        memmove(p, p+1, strlen(p));
    
    return str;
}
 
int main(void){
    char str[BUFSIZ], chars[BUFSIZ];
    
    while ( printf("String: ") && fgets(str, BUFSIZ, stdin) && *str != '\n' 
        && printf("Characters to remove: ") && fgets(chars, BUFSIZ, stdin) )
            printf("Result: %s\n", remove_chars(str, chars));
    
    return 0;
}
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
21.11.2011, 20:04  [ТС]     Из первой заданной строки удалить каждый символ, принадлежащий второй #3
огромное спасибо


Добавлено через 6 минут
http://www.cyberforum.ru/cpp-beginners/thread388511.html
или
дан текст. с одним или несколькими пробелами. в тех словах которые оканчиваются на ing заменить оканчание на ed
посмотри если не сложно..хотя б идею
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
21.11.2011, 20:05     Из первой заданной строки удалить каждый символ, принадлежащий второй #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
#include <stdio.h>
 
char*  strchr_delete(char* str, const char* chs) {
   char* sa, *sb, *tmp = str;
   const char* ptr;
   short id;
   while(*str) {
          for(id = 0, ptr = chs; *ptr; *ptr++) {
               if(*ptr == *str) {
                     id = 1;
                     break;
               }
           }
           if(id) {
                for(sa = str, sb = str + 1; *sa; *sa++ = *sb++);
                continue;
           }
           *str++;
    }
    return tmp;
}
 
 
int main()
{
   char str[] = "abc define aaaaa. PS. aa";
   strchr_delete(str, "aed");
   puts(str);
   getchar();
   return 0;
}
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
21.11.2011, 20:17  [ТС]     Из первой заданной строки удалить каждый символ, принадлежащий второй #5
она чето удаляет сочеетание aed во всем тексте а тут которые оканчиваются на ing заменить оканчание на ed

Добавлено через 4 минуты
можно без процедур
Yandex
Объявления
21.11.2011, 20:17     Из первой заданной строки удалить каждый символ, принадлежащий второй
Ответ Создать тему
Опции темы

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