Les pointeurs en langage C.

Résolu
IHECinformaticien Messages postés 9 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 29 mars 2009 - 7 mars 2009 à 12:44
IHECinformaticien Messages postés 9 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 29 mars 2009 - 7 mars 2009 à 14:22
Bonjour, 2009 c'est ma première année en langage C et mars c'est mon premier mois dans les pointeurs alors je trouve encore des difficultés lors de la programmation en utilisant ces pointeurs veuillez m'aider à résoudre ce problème & merci infiniment:

Déclarer et
initialiser statiquement un tableau d'entiers t avec des valeurs dont
certaines seront nulles. Ecrire une procédure qui parcoure le tableau t
et qui imprime les index des éléments nuls du tableau, sans utiliser
aucune variable de type entier.

2 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
7 mars 2009 à 14:12
As-tu au moins cherché ? L'énoncé ressemble fortement à un exercice de cours.
Néanmoins, pour initialiser statiquement un tableau, tu as les { }.

int t[5] = {1, 0, 2, 0, 3};

Puis l'énoncé est assez étrange, puisque sans entier, pas d'affichage d'index...
Deux solutions:

int i = 0;
for (i = 0; i < 5; ++i)
  if (t[i] == 0)
    printf("%i ", i);

ou

int* tmp = t;
int i = 0;
for (i = 0; i < 5; ++i)
{

  if (*tmp == 0)

    printf("%i ", i);
  tmp++;
}

Le premier utilise les index, le deuxième se contente de faire avancer le pointeurs qui pointe successivement sur chacune des valeurs du tableau.
3
IHECinformaticien Messages postés 9 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 29 mars 2009
7 mars 2009 à 14:22
Bonjour, Si j'ai posté cette application c'est parce que comme vous l'avez affirmé l'énoncé est étrange. Merci pour votre explication.
0
Rejoignez-nous