int main() { list<int>mylist; //Делаем со списком, что хотим mylist.push_back(1); mylist.push_back(2); mylist.push_back(3); mylist.push_back(-4); mylist.push_back(5); for (auto i : mylist) { cout << i << " "; } cout << "\n"; //Удаляем последний отрицательный элемент auto it = mylist.end(); while (*it > 0) { if (it == mylist.begin()) { cout << "Not found.\n"; return 0; } it--; } //Делаем со списком, что хотим mylist.erase(it); for (auto i : mylist){ cout << i << " "; } return 0; }
1) x * !y * !z - не соответствует, не проходит вторую строчку таблицы истинности 2) !x * !y * z - тоже не проходит вторую 3) !x V !y V x - не проходит первую 4) x V !y V !z - подходит по всем трём строкам из таблицы истинности
для того чтобы понять как это делается нужно подставлять цифры из таблицы истинности в сами выражения и смотреть что в ответе получается.
разберу на примере последнего выражения: 0 V !1 V !1 = 0 V 0 V 0 = 0 - верно 0110 (V это логическое ИЛИ, оно равно 1 когда хотя бы один из элементов равняется 1)
1 V !1 V !1 = 1 V 0 V 0 = 1 - тоже верно согласно таблице x y z f 1 1 1 1
0 V !0 V !1 = 0 V 1 V 0 = 1 - тоже верно 0011
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку