@gage Вот мой небольшой пример как можно найти минимальное и максимальное число в C++, for цикл я думаю это единственный и самый быстрый способ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#include <iostream> int main() { int arr[] = {2, 3, 1, 4, 6, 0}; // Объявим первый элемент как максимум int max = arr[0]; // Объявим первый элемент как минимум int min = arr[0]; for (int i : arr) { if (i > max) max = i; if (i < min) min = i; } // Вывод: Max: 6 std::cout << "Максимум : " << max << std::endl; // Вывод: Min: 0 std::cout << "Минимум : " << min << std::endl; } |
@gage Для примитивной программы, которая будет находить минимальное и максимальное число, нам достаточно воспользоваться двумя циклами.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#include <iostream> int main() { int _size; // Назначаем переменную, содержащую размер массива std::cin >> _size; // Позволяем пользователю ввести размер массива с клавиатуры int* array = new int[_size]; // Создаем массив, выделяя под него память for (int i = 0; i < _size; i++) { std::cin >> array[i]; // Заполняем массив с клавиатуры } int max = array[0]; // В качестве первого максимального числа берем первый элемент. int min = array[0]; // В качестве первого минимального числа берем первый элемент. for (int i = 0; i < _size; i++) { for (int j = 0; j < _size; j++) { if (array[i] > array[j] && array[i] > max) max = array[i]; // Каждый элемент сравниваем с каждым элементом соответственно if (array[i] < array[j] && array[i] < min) min = array[i]; } } std::cout << "Max : " << max << std::endl; // Выводим максимальное значение std::cout << "Min : " << min << std::endl; // Выводим минимальное значение // Вывод : // Входные данные : {150, 21, 32, 44, 83} (Длина массива - 5) // Выход : // Max : 150 // Min: 21 } |
@gage Используйте algorithm пакет в C++ чтобы найти минимальное или максимально число, посмотрите проблему можно решить в пару строк:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <iostream> #include <algorithm> int main(int argc, char *argv[]) { int arr[] = {4, 5, 1, 3, 2, 8}; int min = *std::min_element(std::begin(arr), std::end(arr)); int max = *std::max_element(std::begin(arr), std::end(arr)); // Вывод: Макс: 8 std::cout << "Макс : " << max << std::endl; // Вывод: Мин: 1 std::cout << "Мин : " << min << std::endl; return 0; } |