Stwórz funkcję static long Suma2(int[] T1, int n) zwracającą sumę tych liczb, które jednocześnie spełniają warunki: są parzyste, znajdują się na pozycji o parzystej wartości indeksu oraz na indeksach większych od podanego indeksu n.
np. dla tablicy: { 1, 22, 3, 15, 60, 35, 4, 6, 10 } i wywołania: Suma2(tab,4)) zwrócona zostanie wartość 14 (suma elementów 4 i 10).
Mam problem z ostatnim argumentem, czyli liczba znajduje się na indeksach większych od podanego indeksu n. Macie pomysł jak to naprawić?
static long Suma2(int[]T1, int n)
{
if (T1 == null || T1.Length == 0) return 0;
// warunek końca rekurencji; odbicie rekurencji
if (T1.Length == n) return 0;
long rek = Suma2(T1, n+1);
long tu;
int i = T1.Length;
if (T1[n] % 2 == 0 && n % 2 == 0 && i > n)
{
tu = T1[n];
}
else
{
tu = 0;
}
return tu + rek;
}
static void Main(string[] args)
{
int[] T = { 1, 22, 3, 15, 60, 35, 4, 6, 10 };
Console.WriteLine(Suma2(T,4));
}