int *arr;
int min1Index = 0;
int min1 = arr[0];
int min2 = arr[0];
for(int i = 0; i < size; ++i)
{
if(arr[i] < min1 && arr[i] % 2 == 1)
{
min1 = arr[i];
min1Index = i;
}
}
for(int i = 0; i < size; ++i)
{
if(i != min1Index && arr[i] < min2 && arr[i] % 2 == 1)
min2 = arr[i];
}
Чтобы найти самый минимальный надо пройти весь массив в любом случае.
Итого получаем, что надо минимум два цикла (второй цикл чтобы найти второй минимальный)