Показать сообщение отдельно
Старый 06.09.2006, 13:35     # 54
v_mirgorodsky
Junior Member
 
Регистрация: 08.12.2004
Сообщения: 132

v_mirgorodsky Реально крут(а)v_mirgorodsky Реально крут(а)v_mirgorodsky Реально крут(а)v_mirgorodsky Реально крут(а)
Просмотрел я Ваш код.

защиты от некорректного ввода
В Вашем случае вы надеетесь на реализацию iostream - не самый плохой способ и наименее затратный. В Вашем случае использование других техник защиты будет однозначно сложнее и не приведет к улучшению функциональности. Единственное, что я бы изменил - это вынес в отдельную функцию участок кода, отвечающий за ввод значения. Это существенно улучшило бы читаемость вашего исходника в задаче 2. Прототип функции ввода одного значения типа double мог бы выглядеть так: double InputVariable(char *PromptMessage); Думаю, что реализация тела такой функции будет задачей несложной. А почему в примере 3 вы применили scanf() вместо ранее применяемого iostream?

начиная с первого наименьшего элемента и до конца
Вот здесь поконкретнее - что вызывает проблему? Поиск самого первого наименьшего элемента тривиален. Это один цикл с одним if внутри. До входа в цикл считаем элемент с индексом 0 наименьшим, заводим две переменные - MinIdx = 0; и MinValue = ValueArray[0]; Далее просматриваем все элементы массива до конца, начиная с индекса 1. Если значение очередного элемента меньше чем MinValue, то переписываем его значение в MinValue, а его индекс в MinIdx. По выходу из цикла в MinValue будет значение первого наименьшего элемента в массиве, в MinIdx - его индекс.

сортировка
Сортировать массив будем методом пузырька. Абсолютно неоптимальный алгоритм с точки зрения временных затрат в пересчете на элемент массива, однако очень простой. При сортировке пузырьком по убыванию сравниваются два рядом стоящих элемента, если элемент с меньшим индексом меньше элемента с большим индексом, то рядом стоящие элементы меняются местами. Далее индекс увеличивается, берется следующая пара элементов и все повторяется. Реализация состоит из двух вложенных циклов и одного if. Если возникнут сложности с реализацией, сообщите, я приведу реальный пример кода и поясню как он работает.

Думаю, что на сегодня Вам будет достаточно На остальные вопросы постараюсь ответить завтра
v_mirgorodsky вне форума