Максимальный элемент одномерного массива на C++

Задачи по поиску максимального элемента одномерного массива часто встречаются на курсах по программированию. Обычно задача ставится со следующими формулировками:

  • Найти максимальный элемент одномерного массива
  • Найти индекс максимального элемента одномерного массива

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

/*
 * main.cpp
 *
 *  Created on: 21 февр. 2016 г.
 *      Author: Kamo Petrosyan
 */
#include <iostream>
#include <stdio.h>
#include <stdlib.h>     /* srand, rand */
#include <time.h>       /* time */
#include <cctype>

#define ARRAY_SIZE 10000	// Задаем размер массива

using namespace std;

int main(int argc, char **argv) {

	int arr[ARRAY_SIZE], max, min;
	srand(time(NULL));

	//	генерируем числа в массив числа от 1 до 100000
	for (int i = 0; i < ARRAY_SIZE; ++i){
		arr[i] = rand() % 100000 + 1;
	}

	// Выводим весь массив в стиле мазохизма
	for (int i = 0; i < ARRAY_SIZE; ++i) {
		cout << arr[i] << " ";
	}
	cout << endl;

	// Находим максимум
	max = arr[0];
	for (int i = 1; i < ARRAY_SIZE; ++i) {
		if (arr[i] > max)
			max = arr[i];
	}

	cout << max << endl;

	/**
	 * Работаем с массивом символов
	 */
	char ch_arr[ARRAY_SIZE];
	for(int i = 0; i < ARRAY_SIZE;) {
        char ch = rand() % 127;
        if (isalnum(ch))
        {
        	ch_arr[i] = ch;
            cout << ch_arr[i];
            ++i;
        }
    }

	char ch_max = ch_arr[0];
	for (int i = 1; i < ARRAY_SIZE; ++i) {
		if (ch_arr[i] > ch_max)
			ch_max = ch_arr[i];
	}

	cout << ch_max << endl;

	getchar();
	return 0;
}