ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Поиск максимального (минимального) элемента.Последовательный поиск — элементы массива просматриваются последовательно один за другим, при этом производится проверка соответствия элемента заданному
свойству.
Имеется n целых чисел. Необходимо найти число (элемент), значение которого равно К. Если такой элемент в последовательности есть, то указать его порядковый номер.
program zadacha5_1; var k,i,n,p:integer; a:array[1..30] of integer; {описание массива} Begin Write('Кол. элем. массива'); readln(n); for i:=1 to n do begin write('Введите a[',i,']'); {Ввод элементов массива} readln (a[i]); end; writeln('Введённый массив'); for i:=1 to n do {Вывод эл. массива} write (a[i],’ ’); writeln; write('Введите К');readln(k); p:=0; for i:=1 to n do {Нахождение суммы} if a[i]=k then p:=i; if p=0 then writeln('элемента в табліце нет') else writeln('элемент найден, индекс =',p) End. В данной задаче в случае наличия в таблице нескольких элементов, равных К будет выдан наибольший индекс. Для поиска первого такого элемента в таблице используют цикл: i:=1; While (i<=n) and (a[i]<>k) do i:=i+1; Решим задачу поиска наибольшего элемента в таблице А из N вещественных чисел. Найти максимум и индекс этого элемента.
var a:array[1..30] of real; max: real; j,i: integer; Begin Write('Кол. элем. массива'); readln(n); {Ввод элементов массива} ………………….. {Вsвод элементов массива} ………………….. max:=a[1]; j:=1; for i:=2 to n do {Поиск максимума} if max<a[i] then begin max:=a[i]; j:=i; end; writeln; writeln('Макс. элемент массива =', max); writeln('Индекс макс. элемента =', j);
End. Алгоритм: 1. Условно считаем первый элемент наибольшим (максимальным). Запоминаем его значение (a[1]) и его индекс (=1). 2. Cравниваем значение максимального с очередным элементом таблицы (i), начиная со второго элемента и до последнего. 3. При нахождении элемента с большим значением меняем значение максимального на найденный элемент и запоминаем его индекс. 4. При наличии в таблице нескольких минимальных и при условии max<a[i] будет найден максимальный элемент с наименьшим индексом (первый встретившийся в таблице), а если условие будет max<=a[i], то - с большим индексом.
Задания для самостоятельной работы:
1. Имеется целочисленный массив, состоящий из 15 элементов найти минимальный элемент и его индекс. 2. В массиве хранится информация о количестве осадков (целые числа), выпавших за каждый день прошедшей недели. Вывести номера дней, когда осадков не было. 3. Дан массив целых чисел из n элементов. Найти и вывести номера элементов, заканчивающихся цифрой 0. 4. Рост N учеников класса представлен в виде массива. Найти количество учеников, рост которых не превышает значения R. 5. В массиве записаны результаты N игр футбольной команды (если игра закончилась выигрышем данной команды, то записано число 3, проигрышем - число 2, вничью - 1). Определить количество выигрышей, проигрышей, ничьих. 6. В массиве хранится информация о росте N человек. Определить, на сколько рост самого высокого человека превышает рост самого низкого. 7. В массиве хранится информация о стоимости 1 кг N видов конфет. Определить порядковый номер самого дешевого вида конфет. Если таких несколько, то должен быть найден индекс: А) первого из них; Б) последнего из них. В массиве хранится информация о стоимости каждой из M книг. Определить количество самых дешевых книг (с одинаковой минимальной ценой). Двухмерные массивы Не нашли, что искали? Воспользуйтесь поиском:
|