Un tableau est rempli d'éléments aléatoires (négatifs et positifs). Maintenant, je veux calculer la somme de SEULEMENT les éléments positifs.Utilisation de la récursivité pour calculer la somme des éléments positifs uniquement dans le tableau
itératif Il n'y a pas de problème, mais dans la version récursive, je ne peux obtenir que la somme des valeurs négatives et positives.
Comment puis-je "vérifier" dans la version récursive qu'il ne fait que résumer les éléments positifs?
Version itératifs:
public int IterSomPosElem(int[] tabel, int n)
{
n = 0;
for (int i = 0; i < tabel.Length; i++)
{
if (tabel[i] >= 0)
{
n += tabel[i];
}
}
return n;
}
Version récursive au moment (résume tous les éléments au lieu de seulement le positif):
public int RecuSomPosElem(int[] tabel, int n)
{
if(n == 1)
return tabel[0]; //stopCriterium
else
{
return (tabel[n - 1] + RecuSomPosElem(tabel, n - 1)); // how to check, so it only sums up the postive elements and "ignores" the negative elements.
}
}
Pourquoi avez-vous besoin d'une version récursive? C# n'est pas Haskell. – kennytm