Есть ответ 👍

На изученном вами языке программирования составьте программу для замены в данном тексте всюду: части детектив на часть роман например, текст детектив без погони - это не детектив должен стать таким: роман без погони - это не роман, а из текста не могу заснуть без детектива должен получиться текст не могу заснуть без романа.

241
496
Посмотреть ответы 3

Ответы на вопрос:


// pascalabc.net 3.2, сборка 1374 от 10.01.2017 // внимание! если программа не работает, обновите версию! begin   var s: =readlnstring('> ');   s: =s.replace('детектив','роман'); s.println end. примеры > детектив без погони - это не детектив роман без погони - это не роман > не могу заснуть без детектива не могу заснуть без романа

Вот исходник. заменишь строку и искомые слова. /* * *   программа решает :   дана строка символов. группы символов, *   разделенные пробелами (одним или несколькими) и не содержащие пробелы *   внутри себя, будем называть словами. *   заменить в строке слова s на слова w ( s, w - заданы). *   *     */ // #include < stdio.h> #include < string.h> #include < stdlib.h> #include < ctype.h> #define bool int #define true 1 #define false 0 #define max(x, y) ) > (y)) ? (x) : (y)) #define space ' ' // подпрограмма определяет, является ли группа символов словом. bool iswordc (const char*const str, const char*const begin, int len); // #pragma argsused int main(int argc, char* argv[]) {         const char*const def_str = "ехал   грека   через реку , видит грека – в реке рак. сунул грека   руку в реку, рак за руку греку – цап! рекурсия рукавицы"; const char* s[] =                           { "грека", "реку", "руку", "рак",   "" }; const char* w[sizeof(s) / sizeof(char*)] = { "",   "поле", "ногу", "мышь", "грека" };         const int counts = sizeof(s) / sizeof(char*);         int i, offset, delta, isword;         char* pos; char* str = (char*)malloc(strlen(def_str)+1); if (! str) return 1; memcpy(str, def_str, strlen(def_str)+1); for ( i = 0; i < counts; ++i) { pos = str; while ((pos = strstr(pos, s[i])) ! = null) { // группы символов, разделенные пробелами, будем называть словами.                         if (iswordc(str,pos,strlen(s[i])) == true) { if (strlen(s[i]) ! = strlen(w[i])) {                                         // при разной длине - компенсируем разницу, т.е при замене рак на раковина не должны портиться другие данные. delta = strlen(s[i]) - strlen(w[i]); if (delta < 0) { offset = pos - str; str = (char*)realloc(str, strlen(str) + 1 - delta ); if (! str) return 1; str[strlen(str) - delta] = '\0'; pos = str + offset; memmove(pos - delta, pos, strlen(pos)); } memset(pos, space, max(strlen(w[i]), strlen(; // замена "грека" на "аа" = "" } strncpy(pos, w[i], strlen(w[i])); } pos += strlen(s[i]); } }     free(str);         return 0; } // // // подпрограмма определяет, является ли группа символов словом. bool iswordc(const char*const str, const char*const begin, int len) {       bool lhs,rhs;   // ( рак и раковина разные слова.)       // к (unsigned char) необходимо т.к. функции isspace и ispunct делают проверку (a> -1 & & a< =255).       lhs = (begin == str); // исключаем выход за границы.       lhs = lhs || (isspace((unsigned char) *(begin - 1))   || ispunct((unsigned char) *(begin - ;       rhs =         isspace((unsigned char) *(begin + len))|| ispunct((unsigned char) *(begin + len));       return lhs & & rhs; } //

Последовательно. ваш ответ должен быть от 20 до 5000 символов, вот и пишу

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS