res2001: Я имею в виду выражение a = i++&&++j || k || l++ целиком. Как будет меняться значение a, в зависимости от истинности/ложности каждого из элементов
res2001: Когда &&, требуется, чтобы оба выражения были не равны 0, а когда ||, то хотя бы одно должно быть не равно нулю, чтобы результат был истина, верно?
res2001: ай, я запутался. Когда мы выполняем операцию i++&&++j. Мы сравниваем или что? i=1&&j=4. Тут принцип, что если числа не равны нулю, то результат - истина?
15432: Спасибо большое! Только вот и с N-1 и с просто N в цикле программа сравнивает правильно. В каких случаях может программа неправильно сработать, если не подставить -1?
Денис Загаевский: я не спорил, а просил сказать, что сделать, чтобы исправить цикл. Я с ним согласен, что прога сравнивает элементы только попарно. Мне нужно решение проблемы
15432: UPDATE: поставил тип int p[N+1] уведомление о завершении больше не выскакивает. Сейчас ввёл в массив числа 1,1,2,3,4. Результат- 5 сообщений о сравнении этих чисел. По сути сравнивает программа попарно все эти числа, а мне нужно, чтобы она сравнила все вместе и было одно сообщение
спасибо за развёрнутый ответ, но
По поводу вашего 2) пункта хочу сказать: Если я убираю exit(0), то программа начинает чудить, не могу скинуть скрин в комментарий, но в общем выскакивает штук 5 надписей "Элементы массива - возрастающая последовательность", а также выводится системное уведомление "Прекращена работа программы". А так да, я проверил, программа действительно сравнивает только первые 2 элемента, но отнюдь не из-за exit(0), потому что после того, как я его убираю/переставляю в другое место, сравнивать остальные элементы программа даже не собирается)
Rsa97: Хотя, если cделать инкремент префиксным, подставить элементам массива значения 1,2,3,4,5 , то по идее должно работать, ибо новое значение переменной i, полученное в результате операции ++i совпадает с новым значением переменной i, стоящей в цикле