Witaj!
Na początek nic nie znacząca uwaga: if to jest instrukcja - nie funkcja.
Jeśli ilość warunków do spełnienia będzie określana w trakcie działania programu, to z góry zakłada użycie warunku w pętli. Ciężko określić, z jakim typem problemu masz do czynienia, więc nie potrafię wskazać gotowego rozwiązania.
Mogę jednak polecić takie działanie funkcji:
1. Obliczenie ilości warunków
2. Stworzenie tablicy zmiennych typu bool
3. Uzupełnienie tej tablicy w pętli odpowiednimi wartościami (true lub false)
4. Sprawdzenie alternatyw ( || ) lub koniunkcji ( && ) dla wszystkich warunków
W 4. punkcie trzeba się po prostu zastanowić. Kiedy
if( warunek_1 || warunek_2 || warunek_3 || ... || warunek_n )
będzie spełniony? Wtedy, kiedy co najmniej jeden warunek jest prawdziwy. Wystarczy więc taka pętla:
bool warunek = false;
for( int i = 0; i < n; i++ )
{
if( tablica[ i ] == true )
{
warunek = true;
break; // Przerywa pętle
}
}
Jeśli chcesz zrobić koniunkcję dla wszystkich warunków trzymanych w tablicy, to musisz się upewnić, że żadna z wartości nie jest fałszem. Rozwiązanie analogiczne:
bool warunek = true;
for( int i = 0; i < n; i++ )
{
if( tablica[ i ] == false )
{
warunek = false;
break; // Przerywa pętle
}
}
Jeśli chcesz szczegółów, to musisz wysłać troszkę kodu. Myślę jednak, że to powinno pomóc :-)