Supprimer les valeurs nulles d'un tableau
Bonjour à tous,
Je suis en 1ère année d'IUT informatique et je dois réaliser un petit programme qui permet de saisir des valeurs dans un tableau puis de supprimer les valeurs négatives. C'est là que je bloque...
Voici ce que j'ai réussi à faire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
#include <iostream>
using namespace std;
int main()
{
const float STOP=-999.0;
const int MAXR=10;
float tab[MAXR], val;
int i, j=0, nbVal=0;
cout << "Entrez un reel " << STOP << " pour finir." << endl;
cin >> val;
while (val!=STOP && (nbVal < MAXR))
{
tab[nbVal]=val;
nbVal++;
cin >> val;
}
if (val != STOP)
{
cout << "Il n'est pas possible d'enregistrer la derniere valeur saisie (" << val << ")." << endl;
}
for (i=0 ; i < nbVal; i++)
{
cout << tab[i] << " ";
}
for (i=0 ; i < nbVal ; i++)
{
if (tab[i]!=0)
{
tab[j] = tab[i];
j = j++;
}
}
cout << endl << "Voici vos valeurs nettoyees des valeurs nulles (" << nbVal << ") :" << endl;
for (i=0 ; i < nbVal ; i++)
{
cout << tab[i] << " ";
}
return 0;
} |
Le problème est que je n'arrive pas à arrêter la boucle au bon moment.
En effet, en entrant 14 0 -5 2 0 0 1 -2 j'obtiens :
"Voici vos valeurs nettoyees des valeurs nulles (8) :
14 -5 2 1 -2 0 1 -2"
J'ai fait d'autres tentatives mais rien de concluant...
J'espère donc que vous voudrez bien m'aider ou me donner des pistes :)
Merci d'avance