J'ai un programme censé lire des valeurs de l'utilisateur dans un vecteur. Ma fonction est alors supposée conserver une somme courante et partir de l'élément 1 et comparer l'élément 2 à la somme (ce point c'est juste l'élément 1). Passer à l'élément suivant, ajouter l'élément 2 à la somme et voir si l'élément 3 est supérieur à la somme des éléments 1 et 2. Je suis supposé n'imprimer que les éléments qui sont supérieurs à la somme. J'ai du mal à l'imprimer pour imprimer des valeurs. Quelqu'un pourrait-il me faire savoir ce que je pourrais faire de mal? MerciErreur de fonction récursive
int main()
{
vector <int> theData;
int i;
cout<< "Enter in the list of integers ending with a -1" << endl;
do
{
cin >> i;
if (i==-1)
{
break;
}
theData.push_back(i);
}while(i!=-1);
int index = 1;
int runningSum = unsortedData[i];
largeValue(unsortedData, index, runningSum);
system("PAUSE");
return 0;
}
void largeValue(vector<int> myVector, int index, int runningSum)
{
int size = myVector.size();
if (index == size)
{
return;
}
if (myVector[index] > runningSum)
{
cout << myVector[index] << " ";
runningSum += myVector[index];
index = index +1;
largeValue(myVector, index, runningSum);
}
else if (myVector[index] < runningSum)
{
runningSum += myVector[index];
index = index + 1;
largeValue(myVector, index, runningSum);
}
}
Veuillez mettre en forme la source dans votre question en utilisant des espaces, pas des onglets, et incluez toutes les sources dans la mise en forme. –
Je pense que ce n'est pas l'endroit pour demander des devoirs! –
Êtes-vous censé utiliser la récursivité? –