Если вы хотите, чтобы ваша функция возвращала пару чисел, вы можете использовать std::pair
для этой цели.
std::pair<int, int> findMaxAndMin(int* array, int arraySize) {
int biggest = std::numeric_limits<int>::min();
int smallest = std::numeric_limits<int>::max();
for (int i = 0; i < arraySize; i++) {
if (array[i] > biggest) {
biggest = array[i];
}
if (array[i] < smallest) {
smallest = array[i];
}
}
return std::make_pair(biggest, smallest);
}
int main() {
int testArray[10] = {10, 9, 8, 7, -69, 100, -200, 300, 1, 2};
auto result = findMaxAndMin(testArray, 10);
std::cout << "biggest: " << result.first
<< ", smallest: " << result.second << std::endl;
}
Однако этот пример подходит только для целей обучения, обычно мы не делаемиспользовать массивы в стиле C в коде C ++.Чтобы хранить массив целых чисел переменной длины, вы должны использовать std::vector<int>
.Затем, чтобы найти максимальный или минимальный элемент в векторе, вы должны использовать std::max_element
и std::min_element
.Позже, если вы хотите вернуть что-то более сложное, чем просто пару из двух целых чисел, вы должны определить свой собственный struct
или class
и написать функцию / метод, возвращающий ваш пользовательский тип.
Также обратите вниманиечто вы должны отделить логику, ответственную за вычисления и логику, отвечающую за ввод / вывод пользователя.Я дал вам только функцию, отвечающую за вычисления, вы можете написать себе функцию, отвечающую за запрос пользователя о вводе.