Будь умным!


У вас вопросы?
У нас ответы:) SamZan.ru

вариант В задачах подобного рода поиск максиму или минимума может быть поставлена цель найти только 1 инд

Работа добавлена на сайт samzan.ru: 2016-03-30


Задача: 

Найти максимальный элемент численного массива.

Алгоритм решения задачи: 

Значения, составляющие массив, могут быть получены из разных источников: путем вызова функции random, ввода значений пользователем, считывания из файла. В программе ниже используется первый вариант.

В задачах подобного рода (поиск максиму или минимума) может быть поставлена цель, найти только 1) индекс элемента, 2) только значение или 3) и то и другое. В программе ниже используется третий вариант.

Неплохо бы, чтобы при запуске программы весь массив выводился на экран. В этом случае пользователь может оценить правильность работы программы.

  1.  В переменной max_num хранится текущее максимальное значение массива, а в max_index– его позиция (индекс).
  2.  В программе можно выделить две части: заполнение массива числами с выводом их на экран (первый цикл for) и непосредственно поиск максимума (второй цикл for).
  3.  Перед первым циклом запускается процедура randomize для того, чтобы при каждом запуске программы значения массива были разными.
  4.  Изначально делается предположение, что первый элемент массива и есть максимум. Поэтому переменной max_index присваивается значение 1 (т.е. указатель на первый элемент массива), а max_num – непосредственно значение, хранящееся в первой ячейке массива.
  5.  Начиная со второго элемента, каждое очередное значение массива сравнивается с текущим значением max_num. В случае, если текущее значение массива больше, чем хранящиеся в max_num, происходит новое присваивание обоим переменным текущего значения и индекса.

Программа на языке Паскаль: 

const

   m = 20;

 

var

   a: array[1..m] of byte;

   max, max_i: byte;

   i: byte;

 

begin

   randomize;

 

   for i := 1 to m do begin

       a[i] := random(100);

       write (a[i]:3);

   end;

 

   max_index := 1;

   max := a[1];

 

   for i := 2 to m do

       if a[i] > max then begin

           max_i := i;

           max := a[i];

       end;

 

   writeln;

   writeln ('Max = ',max);

   writeln ('position: ', max_i);

 

readln

end.




1. санитарных курсов для Советской Армии комплектовало отряды доноров заботились об инвалидах войны и детяхс
2. Анализ основных средств и нематериальных активов предприятия на примере ООО Дальневосточный Торговый Дом
3. Общественно-политический строй и культура древней Армении
4. История развития Центрального банка России
5. коэффициент пропорциональности зависящий от значения скорости и называемый функцией распределения вероят
6. Проектування стріли кран
7. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата технічних наук Тернопіль ~ Д
8. Реферат- Хронический калькулезный холецистит (история болезни)
9. ВСТУПЛЕНИЕ2 Обстановка в Киевской Руси перед принятием христианства4 Принятие христианства8 Заключен
10. практикум КЛИЕНТЫ ~ ЗОЛОТОЕ ДНО или как увеличить доход компании за счет эффективной работы с клиентской
11. 2014 г. Новосибирск и Новосибирская обл
12. Должностнгые лица в таможенных органах
13. Гимнастика для внутренних органов ~ книга для широкого круга читателей
14. тема Монтессори влияет на естественное радостное обучение и развитие в нужный для каждого ребенка период в
15. Кодовый замок
16. КАЛИНИНГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИНСТИТУТ МЕНЕДЖМЕНТА ЭКОНОМИКИ И ПРЕДПРИНИ
17. Дипломная работа- Технология и техника добывания лося в Магдагачинском районе Амурской области
18. Концепция современного человека в психиатрии
19. різному інтерес виступає як вибіркова спрямованість особистості на ту чи іншу діяльність як прояв емоці
20. Во всём сомневаться девиз- Дж