Сначала немного теории. Тут у нас импликация(если..то...), комбинированная с конъюнкцией(и). Таблица истинности импликации(стрелочки): 0 0 1 0 1 1 1 0 0 1 1 1 Общее правило: если a<=b, тогда правда Таблица истинности конъюнкции(/\): 0 0 0 0 1 0 1 0 0 1 1 1 Общее правило: если есть одна ложь-всё ложь. Про НЕ и гуманитарий поймёт. Про данный пример: Нам нужен вариант, где оба выражения являются правдой, т.к. между ними стоит И Подробно рассмотрим первый вариант: Ирина Первая буква гласная-правда Вторая буква гласная-ложь Значит, результат импликации-ложь, в чём можно убедиться взглянув на таблицу истинности, но, так как НЕ так же присутствует в данном условии, это выражение возвращает правду. Последняя буква гласная-правда Так как оба выражения при конъюнкции правда, всё выражение является правдой и удовлетворяет условию.
#include <iostream> #include <random> #include <ctime> using namespace std;
mt19937 gen(time(0)); uniform_int_distribution<> uid(0, 19); void replace(int *a, int n, int k) { int last = a[n]; for (int i = n - 1; i >= k; i--) { a[i + 1] = a[i]; } a[k] = last; }
int main() { int n = 0, k = 0; cin >> n; int *a = new int[n]; if (n <= 100) { for (int i = 0; i <= n; i++) { a[i] = uid(gen); cout << a[i] << " "; } cout << endl; cin >> k; if (k <= n) { replace(a, n, k - 1); for (int i = 0; i <= n; i++) { cout << a[i] << " "; } } else { cout << "Error" << endl; } } else { cout << "Error!" << endl; } delete[] a; return 0; }
Тут у нас импликация(если..то...), комбинированная с конъюнкцией(и).
Таблица истинности импликации(стрелочки):
0 0 1
0 1 1
1 0 0
1 1 1
Общее правило: если a<=b, тогда правда
Таблица истинности конъюнкции(/\):
0 0 0
0 1 0
1 0 0
1 1 1
Общее правило: если есть одна ложь-всё ложь.
Про НЕ и гуманитарий поймёт.
Про данный пример:
Нам нужен вариант, где оба выражения являются правдой, т.к. между ними стоит И
Подробно рассмотрим первый вариант:
Ирина
Первая буква гласная-правда
Вторая буква гласная-ложь
Значит, результат импликации-ложь, в чём можно убедиться взглянув на таблицу истинности, но, так как НЕ так же присутствует в данном условии, это выражение возвращает правду.
Последняя буква гласная-правда
Так как оба выражения при конъюнкции правда, всё выражение является правдой и удовлетворяет условию.