русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

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


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Пошук максимального (мінімального) елемента.


Дата додавання: 2014-11-27; переглядів: 1921.


Мета :

1. Отримати навики розробки програм по роботі з елементами масиву;

2. Познайомитися із способами пошуку елементів із заданими властивостями;

3. Практична робота з масивами на комп'ютері.

Послідовний пошук— елементи масиву є видимими послідовно один за іншим, при цьому проводиться перевірка відповідності елемента заданій властивості.

 

 

Є n цілих чисел. Необхідно знайти число (елемент), значення якого рівно К.Якщотакий елемент в послідовності є, то вказати його порядковий номер.

program zadacha5_1;

var

к,i,n,p:integer;

а:array[1..30] integer; {опис масиву}

Begin

Write('Кіл. елем. масива');

readln(n);

for i:=1 to n do

begin

write('Введіть а[',i,']'); {Введення елементів масиву}

readln (а[i]);

end;

writeln('Введений массив');

for i:=1 to n do {Висновок ел. масиву}

write (а[i],’ ’);

writeln;

write('Введіть К');

readln(k);

p:=0;

for i:=1 to n do {Знаходження суми}

if а[i]=k then p:=i;

if p=0

then writeln('елемента в табліці немає')

else writeln('елемент знайдений, індекс =',p)

End.

В даній задачі у разі наявності в таблиці декількох елементів, рівних До буде виданий найбільший індекс. Для пошуку першого такого елемента в таблиці використовують цикл:

1 4 9 6 7 13 19 12 5 8 k = 19 ; k = 3 1 4 6 7 8 8 8 4 5 4 k = 8  
i:=1;

While (i<=n) and (а[i]<>k) do

i:=i+1;

Вирішимо задачу пошуку найбільшого елементав таблиці А з N дійсних чисел. Знайти максимум і індекс цього елемента.

1 4 9 6 7 13 19 12 5 8 1 4 6 7 8 8 8 4 5 4 k = 8  
program zadacha5_2;

var а: array[1..30] real;

max: real;

n, j, I : integer;

Begin

Write('Кіл. елем. массива'); readln(n);

{Введення елементів масиву}

{Введення елементів масиву}

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. Умовно вважаємо перший елемент найбільшим (максимальним). Запам'ятовуємо його значення (а[1]) і його індекс (=1).

2. Порівнюємо значення максимального з черговим елементом таблиці (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 видів цукерок. Визначити порядковий номер найдешевшого виду цукерок. Якщо таких дещо, то повинен бути знайдений індекс:

А) першого з них;

Б) останнього з них.

8. В масиві зберігається інформація про вартість кожної з M книг. Визначити кількість найдешевших книг (з однаковою мінімальною ціною).


<== попередня лекція | наступна лекція ==>
Case sim | Формулювання загальної задачі лінійного програмування


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн