В тексте слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с длиной слова - C (СИ)
Формулировка задачи:
В тексте слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с длиной слова. Текст вводится с клавиатуры.
Решение задачи: «В тексте слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с длиной слова»
textual
Листинг программы
{
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;
Объяснение кода листинга программы
- Установка начального значения для переменных ct и ptstr.
- Ввод данных от пользователя с помощью функций gets и scanf.
- Вызов функции change для выделения подстрок указанной длины из введенного текста.
- Вывод на экран полученных подстрок с помощью цикла for и функции puts.
- Освобождение памяти, выделенной под подстроки, с помощью цикла for и функции free.
- Освобождение памяти, выделенной под массив текстовых строк, с помощью функции free.
- Проверка на отсутствие данных в исходном массиве и вывод соответствующего сообщения.
- Запрос на подтверждение продолжения программы.
- Получение подтверждения от пользователя с помощью функции getch.