Новичок на C++ здесь и изучает массивы. Предполагается, что указанная ниже программа возвращает наименьшее и наибольшее число в массиве, используя две отдельные функции. Один для самого большого и один для наименьшего числа. Тем не менее, он все время возвращает 0 для функции lastLowestIndex, и я не уверен, что я могу делать неправильно.Программа на C++ для поиска самого маленького и самого большого числа в массиве
Может ли кто-нибудь так любезно советовать и показать мне, что является неправильным в этой функции, и что можно сделать, чтобы исправить его, чтобы он вернул правильное значение? Я, очевидно, не вижу и/или не понимаю, что неправильно.
Спасибо вам большое за вашу помощь и заблаговременно!
#include <iostream>
#include <cstdlib>
int lastLargestIndex(int [], int);
int lastLowestIndex(int [], int);
using namespace std;
int main()
{
const int N = 15;
int arr[N] = {5,198,76,9,4,2,15,8,21,34,99,3,6,13,61};
int location;
//int location2;
location = lastLargestIndex(arr, N);
cout << "The last largest number is:" << location << endl;
location = lastLowestIndex(arr, N);
cout << "The last smallest number is:" << location << endl;
// std::system ("pause");
return 0;
}
int lastLargestIndex(int arr[], int size)
{
int highNum = 0;
for(int i = 0; i < size; i++)
{
if (arr[i] > highNum)
{
highNum = arr[i];
}
}
return highNum;
}
int lastLowestIndex(int arr[], int size)
{
int smallest = 0;
for (int i = 0; i < size; i++)
{
if (arr[i] < smallest)
{
smallest = arr[i];
}
}
//cout << smallest << '\n';
return smallest;
}
Правильный инструмент для решения таких проблем, как ваш отладчик. Перед тем, как просить о переполнении стека, вы должны пропустить свой код по очереди *. Для получения дополнительной информации, пожалуйста, прочтите [Как отлаживать небольшие программы (Эрик Липперт)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Как минимум, вы должны \ [изменить] ваш вопрос, чтобы включить пример [Минимальный, полный и проверенный] (http://stackoverflow.com/help/mcve), который воспроизводит вашу проблему, а также замечания, сделанные вами в отладчик. –
Если вам нужно сделать это в «реальном» коде, вы, вероятно, захотите использовать 'std :: minmax_element', который (как вы, вероятно, можете догадаться от имени) определен, чтобы сделать * точно * то, что вы ищете здесь , –