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

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

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

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

/*
 * main.cpp
 *
 *  Created on: 21 февр. 2016 г.
 *      Author: Kamo Petrosyan
 */
#include 
#include 
#include      /* srand, rand */
#include        /* time */
#include 

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

using namespace std;

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

	int arr[ARRAY_SIZE], 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;

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

	cout << min << endl;

	/**
	 * Работаем с массивом символов
	 */
	char ch_arr[ARRAY_SIZE];
	for(int i = 0; i < ARRAY_SIZE;) {
        char ch = rand() % 127;
        if (isalpha(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;
}