Даны сложные высказывания. Запишите их с знаков логических операций.
1) Данное число либо кратно, либо не кратно семи. —
2) Минеральная вода может быть или газированной, или негазированной. —
3) Неверно, что сегодня выходной. —
4) Мы поедем в Москву и побываем на Красной площади. —
5) Следующий урок или информатика, или физика. —
A∨B A∧B ¬A
281
475
Ответы на вопрос:
Вот исходник. заменишь строку и искомые слова. /* * * программа решает : дана строка символов. группы символов, * разделенные пробелами (одним или несколькими) и не содержащие пробелы * внутри себя, будем называть словами. * заменить в строке слова 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; } //
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
annnnka1631.08.2020 18:56
-
muratov2001121.02.2021 09:41
-
Kosmen2126.05.2021 16:49
-
Springtrap22213412420.07.2021 21:10
-
YanaKQG25.07.2020 14:02
-
ailina2612.11.2021 04:52
-
АннаШпак22.08.2021 14:19
-
aguanapfel05.11.2021 11:17
-
olkvochka170706.12.2020 00:40
-
anastdidenko20oziw5s05.10.2021 15:18
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.