"С обычными дураками не так весело танцевать, как с сдвинутыми" (с)
Добрый день!
Есть вот такое задание: "Проверить, упорядочен ли массив по возрастанию."
И на данных примерах проверяется:
Ввод 1 Ввод 2 Ввод 3
3
1
2
3
 
3
1
3
3

3

1

5

3

 
Вывод 1 Вывод 2 Вывод 3
yes
 
yes
 

no



И есть вот решение задачи.
Но при вводе второго значения, или первого, сразу же выдает yesyes,
в чем может быть ошибка?
Может, надо было упорядочить массив самому?
Но тогда теряется сам смысл задачи.
Премного буду благодарен за помощь!

И чтобы два раза не писать.
читать дальше

@темы: Вопрос, C++, Алгоритм

Комментарии
29.05.2015 в 11:01

Массивы должны нумероваться с нуля и поэтому у вас в цикле заносится (n-1) значений, а не n.
29.05.2015 в 11:03

меняю пропорции мира в сторону розовых пони
Решение первой задачи какое-то странное, и на решение не похоже.
Чтобы при вводе массива сразу понять, упорядоченный он или нет, достаточно просто запоминать предыдущее число и сравнивать с вновь введённым - нужно, чтобы каждое новое было больше или равно предыдущего. Весь массив даже в память грузить не надо.


Во втором случае:

Условие цикла: от 1 до N.
На каждой итерации сумма увеличивается на значение вновь вычисленного члена. Единственная сложность - аккуратно собственно этот член посчитать и ничего не перепутать.
29.05.2015 в 11:49

Но тролль - персонаж брутальный, он понимает все буквально (с)
Вот вам пример решения для первой задачи (осторожно, говнокод!): вот.

Вторая задача, по сути, не сложнее первой. Считать N, посчитать в цикле от 1 до N.

проверку условия знаменателя.
Зачем? Выражение 1+i^2 всегда больше нуля.
29.05.2015 в 15:47

"С обычными дураками не так весело танцевать, как с сдвинутыми" (с)
Спасибо большое за ответы!

Trotil, ага, понял, спасибо!

yulia_shabunio, спасибо большое, алгоритм уяснил.
То есть получается в цикле складывается сумма посчитавшегося члена, а до цикла - этот сам член высчитывается? или он тоже в цикле?


tariell, спасибо большое за код!
главное, что наглядно показали, это просто :heart:
Ага, точно, там же i возводится в квадрат, простите, переволновался)