Как найти максимальное отрицательное число в ряде, состоящем из положительных и отрицательных чисел

Возникла проблема с нахождением максимального отрицательного числf в ряде, состоящем как положительные и отрицательные числа.

#include <iostream>

using namespace std;

int main()
{
    int num;
    int max;
    int i = 0;
    
    do {
        cout <<"Enter your number - ";
        cin >> num;
        
        if(i == 0){
            max = num;
        }
        else{
                if(num > max){
                    max = num;
                }
        }
        i += 1;
        
    } while (i <= 7);
    
    cout <<"Largest is : " << max;
    
    
    return 0;
}


Ответы (1 шт):

Автор решения: Harry

Думаю, так сойдет? Сравнивать надо только отрицательные числа.

int main()
{
    int max = numeric_limits<int>::min();
    for(int num, i = 0; i < 7; ++i)
    {
        cout <<"Enter your number - ";
        cin >> num;
        if( num < 0 && num > max) max = num;
    }
    cout <<"Largest is : " << max;
}
→ Ссылка