Прежде всего нам понадобится подключить 2 библиотеки:
#include <iostream> #include <stdlib.h> using namespace std;
- Библиотека stdlib.h было подключена мной только для того чтобы тестировать массив, для использования функции — генератора случайных чисел — rand(). Если вы планируете заполнять массив вручную или считывать его откуда-то вам она не пригодиться
Теперь объявим наш массив. Я буду сортировать дробные числа (float):
const int n = 10; float a[n];
- Для удобства тестирования была объявлена константа n равная 10. В дальнейшем вы можете изменить её на любое целое число. Она определяет размер создаваемого массива.
Теперь заполним наш массив при помощи функции rand() и попутно выведем его на экран:
for (int i=0;i<n;i++) { a[i] = rand()%10; cout << a[i] << "\t"; }
- rand()%10 — означает остаток от деления случайного числа на 10. Таким образом мы получим числа в диапазоне от 0 до 10
Теперь приступим обходу массива. Сначала объявим переменные с номером (целочисленное значение — int) и переменную с дробным значением для сравниваемого значения и предположим, что нулевой элемент массива — минимальный.
float this_a = a[0]; int namber = 0; for (int i=0;i<n;i++) { if (a[i]<this_a){ namber = i; this_a = a[i]; } }
Проходим в цикле все элементы массива и если проходимый элемент больше элемента в переменной this_a, предполагаем, что этот элемент минимален: вносим его номер в переменную namber, а его значение в переменную this_a. При проходе следующего элемента ситуация повторяется. Таким образом после окончания прохода массива в переменной namber останется номер минимального элемента, а в this_a — значение минимального элемента.
- Стоит отметить, что для нахождения максимального элемента действия аналогичны, но при прохождении цикла, следует изменить условие на a[i] > this_a.
Осталось только вывести полученные данные на экран.
cout << "Номер минимального элемента: " << namber; cout << " Его значение: " << this_a;
Вот и всё) задача решена..