Compter les cases non vide d'un tableau C++
Fermé
superstarzzz
Messages postés
2
Date d'inscription
vendredi 27 novembre 2009
Statut
Membre
Dernière intervention
5 décembre 2012
-
27 nov. 2009 à 10:07
Pacorabanix Messages postés 3245 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 27 nov. 2009 à 16:12
Pacorabanix Messages postés 3245 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 27 nov. 2009 à 16:12
A voir également:
- Compter les cases non vide d'un tableau C++
- Coeur vide ✓ - Forum Internet / Réseaux sociaux
- Tableau croisé dynamique - Guide
- Créer un compte gmail - Guide
- Afficher un tableau en c - Forum C
- Supprimer un compte instagram - Guide
5 réponses
toto1983
Messages postés
205
Date d'inscription
samedi 16 mai 2009
Statut
Membre
Dernière intervention
25 mars 2010
13
27 nov. 2009 à 11:09
27 nov. 2009 à 11:09
Explique exactement ce que tu veux faire , pasque si tu donnes pas de précision on peut pas t'aider si un utilisateur entre une donnée d'un tableau est-ce qu'il a le droit de sauter une ligne et colonne ? par exemple pasque c bien joli de vouloir compter les lignes et colonnes remplis ou pas d'un tableau encore faut il les traiter une première fois tu saisis ?
Pacorabanix
Messages postés
3245
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
658
27 nov. 2009 à 11:11
27 nov. 2009 à 11:11
il suffit de parcourir ton tableau (avec deux boucles for par exemple) et d'avoir une variable compteur qui s'incrémente si une case est vide.
Attention bien initialiser toutes les valeurs du tableau à une certaine valeur que tu reconnaitras comme "vide" (-1 par exemple si l'utilisateur ne doit rentrer que des positifs), sinon les cases contiendront en fait déjà qqchose (qui dépend de l'état de la mémoire à ce moment) et le compte ne marchera pas.
Pour sizeof ce n'est pas la bonne méthode car sizeof te donnera la taille des tableaux, pas le nombre de cases où tu as effectivement mis quelquechose.
Attention bien initialiser toutes les valeurs du tableau à une certaine valeur que tu reconnaitras comme "vide" (-1 par exemple si l'utilisateur ne doit rentrer que des positifs), sinon les cases contiendront en fait déjà qqchose (qui dépend de l'état de la mémoire à ce moment) et le compte ne marchera pas.
Pour sizeof ce n'est pas la bonne méthode car sizeof te donnera la taille des tableaux, pas le nombre de cases où tu as effectivement mis quelquechose.
Pacorabanix
Messages postés
3245
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
658
27 nov. 2009 à 11:13
27 nov. 2009 à 11:13
pardon pour ma dernière méthode je propose un moyen pour compter les cases vides d'un tableau, mais la modification est extrêmement petite pour compter les cases non-vides bien sûr !
toto1983
Messages postés
205
Date d'inscription
samedi 16 mai 2009
Statut
Membre
Dernière intervention
25 mars 2010
13
27 nov. 2009 à 11:26
27 nov. 2009 à 11:26
Voilà exactement ce que je pensais : la ligne d'un tableau contient toujours quelque chose par exemple si tu fais
for (i = 0; i<sizeof(colonne); i++)
for (j = 0; j<sizeof(colonne); j++)
{
cin>>tab[i][j];
if (tab[i][j] == '\n') //si par exemple tu délimite tes entrées par un retour chariot
tab[i][j] = "NULL" //si c un char tu mets la ligne à NULL
if (tab[i][j] == 0)
tab[i][j] = 0 //si c un char
}
Essaie je suis pas sur que ça marche néanmoins qui tente rien n'a rien ;)
for (i = 0; i<sizeof(colonne); i++)
for (j = 0; j<sizeof(colonne); j++)
{
cin>>tab[i][j];
if (tab[i][j] == '\n') //si par exemple tu délimite tes entrées par un retour chariot
tab[i][j] = "NULL" //si c un char tu mets la ligne à NULL
if (tab[i][j] == 0)
tab[i][j] = 0 //si c un char
}
Essaie je suis pas sur que ça marche néanmoins qui tente rien n'a rien ;)
Pacorabanix
Messages postés
3245
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
658
27 nov. 2009 à 16:12
27 nov. 2009 à 16:12
ah oui pardon tu parlais de sizeof pour parcourir le tableau, je n'avais pas compris ça ! Ok.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
toto1983
Messages postés
205
Date d'inscription
samedi 16 mai 2009
Statut
Membre
Dernière intervention
25 mars 2010
13
27 nov. 2009 à 11:28
27 nov. 2009 à 11:28
Après j'ai omis de dire : tu traite tes variables : si tu te retrouve face à un vide tu incrémente pas ton compteur enfin g pas trop le temps de m'y attarder :/