Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Jackylmao
0 / 0 / 0
Регистрация: 22.10.2015
Сообщений: 2
1

Ввести строку и слово, удалить все вхождения слова и вывести строку

22.10.2015, 17:38. Просмотров 928. Ответов 2
Метки нет (Все метки)

Нужно написать программу только со стандартной библиотекой <stdio.h>
Помогите, пожалуйста :3
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2015, 17:38
Ответы с готовыми решениями:

Ввести строку и слово, удалить все вхождения слова и вывести строку
Написал код. Вот условие: &quot;Ввести строку и слово, удалить все вхождения слова и...

Ввести строку и слово, удалить все вхождения слова и вывести строку
Доброго времени суток всем ! написал лр2 (Ввести строку и слово, удалить все...

Ввести строку символов. Удалить из строки все символы, не являющиеся цифрами. Результат вывести на экран.
Задача 1. Ввести строку символов. Удалить из строки все символы, не являющиеся...

Ввести строку и слово. Вставить слово в строку между словами, сумма длин которых наименьшая
Помогите пожалуйста написать программу

Ввести строку и слово; вставить слово в строку между словами, сумма длин которых наименьшая
задание: Ввести строку и слово. Вставить слово в строку между словами, сумма...

2
anmartex
...
1711 / 1204 / 909
Регистрация: 12.02.2013
Сообщений: 1,978
23.10.2015, 05:42 2
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Ввод данных, я думаю, сделаете сами:
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
#include <stdio.h>
 
//-----------------------------------------------------------------------------
int isAlnum(int ch) {
    return ((('a' <= ch) && (ch <= 'z'))
            || (('A' <= ch) && (ch <= 'Z'))
            || (('0' <= ch) && (ch <= '9')));
}
//-----------------------------------------------------------------------------
int getWord(char* str, char** begin, char** end) {
    for (; *str && !isAlnum(*str); ++str) { ; }
    *begin = str;
 
    for (; *str && isAlnum(*str); ++str) { ; }
    *end = str;
 
    return (*end - *begin);
}
//-----------------------------------------------------------------------------
void strSet(char* str, char ch, unsigned size) {
    while (size--) {
        *str++ = ch;
    }
}
//-----------------------------------------------------------------------------
int strCmp(const char* str1, const char* str2, int size) {
    while (size && *str1 && *str2 && (*str1++ == *str2++)) {
        size--;
    }
    return (size == 0);
}
//-----------------------------------------------------------------------------
int strLen(const char* str) {
    const char* p;
    for (p = str; *p; ++p) { ; }
    return (p - str);
}
//-----------------------------------------------------------------------------
char* strChrRemove(char str[], char ch) {
    int offs = 0;
    char* p;
    for (p = str; *p; ++p) {
        if (*p == ch) {
            offs++;
        }
        else {
            *(p - offs) = *p;
        }
    }
    *(p - offs) = 0;
    return str;
}
//-----------------------------------------------------------------------------
char* wordRemove(char text[], const char word[]) {
    const char REPLACED_CHAR = 1;
    char* str = text, * begin, * end;
    int len, lenWord = strLen(word);
 
    while ((len = getWord(str, &begin, &end))) {
        if ((len == lenWord) && strCmp(begin, word, len)) {
            strSet(begin, REPLACED_CHAR, len);
        }
        str = end;
    }
 
    return strChrRemove(text, REPLACED_CHAR);
}
//-----------------------------------------------------------------------------
 
int main() {
    char text[] = "this is program delete word 'program'.";
    char word[] = "program";
 
    printf("%s\n", wordRemove(text, word));
 
    return 0;
}
Результат выполнения
2
Jackylmao
0 / 0 / 0
Регистрация: 22.10.2015
Сообщений: 2
26.10.2015, 06:01  [ТС] 3
Большое спасибо)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2015, 06:01

Удалить все вхождения символа в строку
Задача такая. С клавиатуры вводится строка и символ. Нужно удалить все...

Из введенной строки удалить все слова, которые начинаются с большой буквы и вывести полученную строку
#include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;math.h&gt; #include...

Ввести строку и слово. Найти позицию заданного слова в строке
Помогите решить проблему с программой #include &lt;stdio.h&gt; #include &lt;string.h&gt;...


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

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

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