1 / 1 / 0
Регистрация: 03.01.2017
Сообщений: 95
1

В тексте слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с длиной слова

05.04.2017, 17:45. Показов 2853. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В тексте слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с длиной слова. Текст вводится с клавиатуры.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2017, 17:45
Ответы с готовыми решениями:

В тексте слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с длиной слова
Надо написать код для этой проги на Dev-C++ (если что версия 4.9.9.2) (консольное приложение), ума...

В тексте все слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с длиной заменяемого слова
В процессе изучения C# столкнулась с одной задачей. Все бы ничего, но из-за требований к ее решению...

В тексте слова заданной длины заменить указанной подстрокой
Задание: В тексте слова заданной длины заменить указанной подстрокой, длина которой может не...

В тексте слова заданной длины заменить указанной подстрокой
В тексте слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с...

1
0 / 0 / 2
Регистрация: 03.02.2017
Сообщений: 39
12.05.2017, 22:53 2
Лучший ответ Сообщение было отмечено Tatsiana245 как решение

Решение

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
        {
            if (we == ws) continue;
            if (we - ws == wordLength)
            {
                if (wordLength < strlen(word))
                {
                    int soffset = ws - newText[i];
                    int eoffset = we - newText[i];
                    line_length += strlen(word) - wordLength;
                    newText[i] = (char*)realloc(newText[i], line_length);
                    tempStr = (char*)realloc(tempStr, line_length);
                    ws = newText[i] + soffset;
                    we = newText[i] + eoffset;
                }
 
                strcpy(tempStr, we);
                strcpy(ws, word);
                strcat(ws, tempStr);
                ws = ws + strlen(word) + 1;
            }
            else ws = we + 1;
        }
 
        if (strlen(ws) == wordLength)
        {
            if (wordLength < strlen(word))
            {
                int soffset = ws - newText[i];
                int eoffset = we - newText[i];
                line_length += strlen(word) - wordLength;
                newText[i] = (char*)realloc(newText[i], line_length);
                tempStr = (char*)realloc(tempStr, line_length);
                ws = newText[i] + soffset;
                we = newText[i] + eoffset;
            }
 
            we = strchr(ws, '\0');
            strcpy(ws, word);
        }
 
        free(tempStr);
    }
 
    return newText;
}
Добавлено через 9 минут
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
        {
                                       if (ct)
                                       {
                                           char slov[81];
                                           int dlin;
                                           printf(Rus("Введите слово для замены:"));
                                           while (getchar() != '\n');
                                           gets(slov);
                                           printf(Rus("Введите длину слов,которые нужно заменить:"));
                                           scanf("%d", &dlin);
                                           while (getchar() != '\n');
 
                                           char** text = change(ptstr, ct, slov, dlin);
 
                                           for (int i = 0; i < ct; i++) puts(text[i]);
 
                                           for (int i = 0; i < ct; i++)
                                           {
                                               if (text[i]) free(text[i]);
                                           }
                                           free(text);
                                       }
                                       else
                                           printf(Rus("Данные в исходном массиве отсутствуют\n"));
                                       printf(Rus("\nДля продолжения-<ENTER>:\n"));
                                       getch();
        }
            break;
извиняюсь не то написала в сообщении выше
0
12.05.2017, 22:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2017, 22:53
Помогаю со студенческими работами здесь

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

Все слова, длина которых больше в 2 раза длины слова max длины, заменить на слово min длины
подскажите пожалуйста в чем тут ошибка {Дан текст. Все слова, длина которых больше в 2 раза...

Дана строка, в которой слова разделены одним пробелом. Найдите и выведите все слова указанной длины
В итоге вышло, что если первое слово правильной длинны - выводит все слова в строке. Если нет -...

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


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

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

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