int Arr[] = { 1,1231,23123,1234,35,452356,564563,7345,235345,2345363,4523452342,3}; //гарантируется что там есть минимум 2 разных числа.
//Если нет, то можно добавить флаги
int min1 = (2 << 30) - 1, min2 = (2 << 30) - 1; // изначально очень большие числа
for (int i = 0; i < 12; ++i)
{
if (min1 % 2 == 1 && Arr[i] < min1)
{
min2 = min1;
min1 = Arr[i];
continue;
}
if (min2 % 2 == 1 && Arr[i] < min2 && Arr[i] != min1)
{
min2 = Arr[i];
}
}
int Arr[] = {.......}; //гарантируется что там есть минимум 2 разных числа.
//Если нет, то можно добавить флаги
int min1 = (2<<31) -1, min2 = (2<<31) -1;
for(int i = 0; i < size; ++i)
{
if(min1 % 2 == 1 && Arr[i] < min1)
min1 = Arr[i];
else if(min2 % 2 == 1 && Arr[i] < min2 && Arr[i] != min1)
min2 = Arr[i];
}
main_queue была определена прям перед мейном
Потом программа считывает данные с файлов и инициализирует main_queue. Если каких то данных не хватает то условно говоря вылетает рантайм.
Я сейчас сделал через маллок и всё работает. Но блин такая неуверенность всё равно.