| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [С++]Массивы |
| Автор: insi 10.6.2008, 21:22 |
| Подскажите пожалуйста, как выяснить, упорядочены ли элементы массива по невозрастанию или неубыванию? |
| Автор: susanin 10.6.2008, 23:08 |
это как? неубыванию==возрастанию а невозрастанию == убыванию? если так, то просто берешь первый элемент и в зависимости от того на что проверить надо сравниваешь первый элемент с последующими. создаешь флаг какой нибудь, если встречается пара элементиов, которая не упорядочена в необходимом порядке, то флаг изменяешь(наприер с 0 на 1) а в конце смотршь на флаг и делаешь оттуда выводы, отсортирован массив(флаг не изменился) или не осортирован (флаг изменился). да... и наверно надо в цикле когда будешь сравнивать элементы сделать break усли изменился флаг, чтобы если попадется 2 и более элементов, флаг больше не менялся.. |
| Автор: insi 11.6.2008, 21:28 |
| Нет, это я так понял надо пройти каждый элемент массива и проверить не убывает ли весь массив, если он не убывает, то вывести "элементы массива не убывают", если убывавает - то "элементы массива убывают", и соответственно с невозрастанием тоже самое. Как это сделать? |
| Автор: susanin 12.6.2008, 00:39 |
| insi, ну я в принципе это и сказал в алгоритме! смотри. есть массив. создаешь какой нибудь флаг (например flag).. проходишь массив от начала до конца. например проверяя попутно больше (меньше) ли текущий элемент следующего. если текущий элемент меньше(больше) следующего (следовательно для упорядочивания по возрастанию(убыванию) надо поменять местами элементы) изменяешься флаг и в конце смотришь на флаг... если надо, могу в принципе код набросать...к прмеру дан массив 58, 12, 6, 4 , 2, 0 ... программы выведет что массив убывает или 12, 58, 6, 4, 2, 0.... программа выведет "не убывает" Добавлено через 2 минуты и 56 секунд если я не так понял, то приведи пример, как ты понимаешь задание... с массивом чисел |
| Автор: Palladin 12.6.2008, 06:13 | ||
|
| Автор: insi 13.6.2008, 18:53 |
| Огромное спасибо! А не подскажете, как теперь сделать такой ход: если в исходном массиве количество положительных значений меньше, чем отрицательных, то создавать новый массив для отрицательных значений, в противном случае - создавать массив для положительных значений и переписывать в него соответствующие значения исходного массива. |
| Автор: bobik02 13.6.2008, 19:55 | ||
на
смысл короче ты понял ? |
| Автор: insi 14.6.2008, 20:46 |
| Да, огромное спасибо! |