русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Поиск минимального и максимального элементов массива

Процесс поиска минимального или максимального элемента массива обычно осуществляется при помощи операторов цикла. Перед запуском цикла предполагается, что один из элементов массива является минимальным или максимальным (обычно это первый элемент массива). Значение выбранного элемента массива принимается за эталонное. Цикл выполняется для всех элементов массива за исключением выбранного. Если выбран первый элемент массива, то цикл можно организовывать со второго элемента массива. В цикле осуществляется сравнение значений элементов массива с выбранным. Если при этом сравнении один из элементов массива оказывается больше (поиск максимального значения) или меньше (поиск минимального значения) текущего элемента, то значение текущего элемента массива принимается за эталонное. Цикл продолжает свое выполнение до нахождения нового эталонного значения или до его остановки (после перебора всех значений массива).

Рассмотрим пример. Необходимо найти минимальное значение элементов массива из 5 целых чисел. Алгоритм действий следующий: объявим массив целых чисел "а" из 5 элементов и задаем (или вводим с клавиатуры или файла) значения элементов массива, сохраняем количество элементов в массиве в переменной "n". Принимаем, что первый элемент массива является минимальным. Организуем цикл перебора элементов массива, начиная со второго элемента массива. В цикле осуществляется проверка - является ли значение, сохраненное в min, меньше значения текущего элемента. Если значение текущего элемента оказывается меньше, чем значение, находящееся в min, то заносим его в переменную min. После выполнения описанных действий в переменной min будет находиться минимальное значение массива.

int a[5]={3,5,4,1,2}; // создан массив целых чисел из 5 элементов

n=5;// определение количества обрабатываемых элементов

min=a[0];// принимаем, что первый элемент массива

// является минимальным

for(i=1;i<n;i++)// цикл перебора элементов массива

if(min>a[i]) // проверка, является ли значение, сохраненное в min,

// меньше значения текущего элемента

min=a[i];// если значение текущего элемента

// оказывается меньше min

Рассмотрим более подробно пример выполнения программы при поиске минимального числа среди последовательности чисел 3,5,4,1,2. При старте цикла в min=3, т.к. a[0]=3. Цикл выполнится 4 раза, т.е. переменная i будет принимать значения 1,2,3,4 (это задано в операторе цикла for). При i=1 в цикле сравнивается значения min=3 и a[1]=5. Значение min меньше значения a[1], т.е. условие min>a[1] не выполняется. При i=2, сравниваются значения min=3 и a[2]=4. Значение min меньше значения a[2], т.е. условие min>a[2] не выполняется.

При i=3 сравниваются значения min=3 и a[3]=1. Значение min больше значения a[3], т.е. найдено значение, меньше min. Значение min=a[3]. Это значение используется как эталонное для дальнейшего поиска минимального (до тех пор будет найдено новое наименьшее значение). При i=4 сравниваются значения min=1 и a[4]=4. Если значение в min меньше, то условие min>a[1] не выполняется.

При необходимости нахождения максимального элемента массива в операторе сравнения меняется знак с "больше" на "меньше".

Просмотров: 700


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.