Номер и значение минимального элемента одномерного массива в С++

Прежде всего нам понадобится подключить 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;

Вот и всё) задача решена..

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий