Будь умным!


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

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

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

Бесплатно
Узнать стоимость работы
Рассчитаем за 1 минуту, онлайн

Задача: 

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

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

Значения, составляющие массив, могут быть получены из разных источников: путем вызова функции 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. 4 СТРАТЕГИЧЕСКИЙ МЕНЕДЖМЕНТ Если сравнить менеджера с капитаном корабля то становится более ясной про
2. Наличие территории
3. Правовые отношения, возникающие в связи с причинением и компенсацией морального вреда
4. реферат дисертації на здобуття наукового ступеня кандидата геологічних наук
5. Есенина Каждый человек познает окружающий мир при помощи пяти органов чувств
6. Ведущие ФПГ в нефтехимическом комплексе РФ
7. Знаешь Оно действительно очень красивое
8. Just burying the ct sid Mr Jones
9. Обострение противоречий создает зоны кризиса
10. тема соцзащиты населения соц
11. Макроэкономика
12. І. Пересветова. Широку програму політикоюридичних перетворень запропонував у середині XVIb.
13. господарської діяльності підприємства- величину самофінансування структуру капіталу ціну залучення фінан
14. Задание цветов Зрительный аппарат человека- устройство и чувствительность
15. Барбарис лечение барбарисом Лекарственные травы
16. А циркулярные волокна Б свободные волокна десны В трансептальные г альвеолярные гребешковые волокна д
17. правовой классификации исков5 Иски о признании
18. Сахарный диабет I тип тяжелое течение, субкомпенсация
19. Notes section of the medi specificlly designed to rech lrge udience
20. измерительной техники В