Линейный и двоичный поиск элементов в массиве




Очень часто требуется найти в массиве заданное значение или сообщить, что его там нет. Для этого нужно просмотреть все элементы массива с первого до последнего. Как только будет найден элемент, равный заданному значению X, надо завершить поиск и вывести результат. Такой алгоритм называется линейным 

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

Первое задание на реализацию данного алгоритма 

Task
Найти в массиве максимальный из отрицательных элементов. 
Добавтье условие внутри цикла (после слова if), чтобы программа находила максимальный элемент среди отрицательных элементов.

C++
1
#include<iostream>    
2
using namespace std;    
3
main()    
4
{    
5
  const int Nmax=1000;    
6
  int A[Nmax], i, M, N;	    
7
  cin >> N;    
8
  for (i=0; i<N; i++)    
9
    cin >> A[i];    
10
  M = A[0];    
11
  for (i=1; i<N; i++)    
12
    if (A[i]<0)    
13
14
        M =A[i];    
15
  cout << M;    
16
}    
Your last submission is saved in the editor window.
     

Results:

All results: