Постройте таблицу истинности для логического выражения: А̅ Ù С. Для этого:
1) Подсчитайте n — число переменных в выражении ( у нас две переменные А и С);
2) Подсчитайте общее число логических операций в выражении ( у нас две операции - Инверсия и Конъюнкция),
3) Определите число столбцов в таблице: число переменных + число операций ( у нас две переменные А и С и две операции - Инверсия и Конъюнкция), т.е 2+2=4;
4) Заполните шапку таблицы, включив в неё переменные и операции в соответствии с последовательностью выполнения логических операций с учётом скобок и приоритетов. В нашем задании первое действие инверсия А̅ , второе действие конъюнкция А̅ Ù С.
А С А̅ А̅ Ù С.
5) Определите число строк в таблице (не считая шапки таблицы): m=2n (в нашем задании m=22 =4);
6) Выпишите наборы входных переменных:
А С А̅ А̅ Ù С.
0 0
0 1
1 0
1 1
7) Проведите заполнение таблицы по столбцам, выполняя логические операции в соответствии с установленной последовательностью.
А С А̅ А̅ Ù С.
0 0
0 1
1 0
1 1
Строка вводится с клавиатуры(максимум 99 символов). Первое слово должно быть с маленькой буквы или первая и последняя буквы этого слова не должны совпадать(иначе такое слово как Test не засчитается). Также будет засчитываться одна буква(abc d efg, буква d подходит, так как она и первая и последняя)
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <cstring>
using std::strtok;
using std::strlen;
int main()
{
char a[100], *ptr;
cout << "Enter the string:" << endl;
cin.getline(a, 100);
cout << endl;
ptr = strtok(a, "., ");
while(ptr)
{
if(*ptr == *(ptr + strlen(ptr) - 1))
{
cout << ptr << ' ';
}
ptr = strtok(NULL, "., ");
}
cout << endl;
return 0;
}