Нужно найти вторые, наименьшие и наименьшие значения массивов с шаблоном - PullRequest
0 голосов
/ 30 сентября 2018

Я уже объявил длину массивов внутри main, но, поскольку пользователь может ввести небольшое значение для первого значения массива, я не могу просто присвоить переменным сортировки значение [0].Это дает мне наименьшее значение, но второе наименьшее значение всегда также возвращает наименьшее значение.

template < class T >
T smalls(T *a, const int n)
{
    T small;
    T smallest;

    for (int i =0; i<n ; i++)
    {
        if (smallest > a[i])
        {
            small = smallest;
            smallest = a[i];
        }
            cout << "Smallest value of array: ";
            cout << smallest << endl;
            cout << "Second smallest value of array: ";
            cout << small << endl;
}

1 Ответ

0 голосов
/ 30 сентября 2018

Вы никогда не тестируете маленькие против самых маленьких.Попробуйте это.

if (small > a[i])
{
    small = a[i];
    if (small < smallest)
        std::swap(small,smallest);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...