Tableau en Langage C
jup89
-
Mr. D@RK Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Mr. D@RK Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais bien un peu d'aide de votre part à un exo que j'ai à réaliser :
Ecrire un programme qui, étant donné 50 entiers lus au clavier entre 0 et 10 :
-calcule le nombre de 0 tirés
-indique le rang du 1er élément NON NUL
-affiche la suite des entiers
Je débute dans les tableaux donc j'ai pas encore bien bien compris comme ça marche exactement
Pour l'instant on va dire que j'ai fait que ça :
Maintenant je bloque...depuis maintenant 2h j'arrive pas à enchainer quelque chose :-( si vous pouviez m'aider svp
J'aimerais bien un peu d'aide de votre part à un exo que j'ai à réaliser :
Ecrire un programme qui, étant donné 50 entiers lus au clavier entre 0 et 10 :
-calcule le nombre de 0 tirés
-indique le rang du 1er élément NON NUL
-affiche la suite des entiers
Je débute dans les tableaux donc j'ai pas encore bien bien compris comme ça marche exactement
Pour l'instant on va dire que j'ai fait que ça :
#include <stdio.h> #include <stdlib.h> int main () { int t[50],i,n; i=0; printf("Veuillez rentrer les 50 nombres : \n"); while(i<50){ scanf("%d",&t[i]); i=i+1; } system("PAUSE"); return; }
Maintenant je bloque...depuis maintenant 2h j'arrive pas à enchainer quelque chose :-( si vous pouviez m'aider svp
A voir également:
- Tableau en Langage C
- Tableau word - Guide
- Langage ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
4 réponses
Bonjour,
Pourquoi ne pas faire une simple boucle for ?
Par exemple :
Sinon, pour le return; il manque le 0. Il s'agit de return 0;
Ensuite pour les points que vous devez faire, je vous recommande les fonctions.
Ce qui pourra donner :
Pour compter le nombre d'éléments non nuls, une simple boucle, une condition (if) et un compteur fera l'affaire.
Pour trouver le premier indice non nul, une simple boucle avec une condition (if) fera l'affaire.
Et pour l'affichage, une simple boucle avec un printf fera l'affaire.
Cdlt,
Pourquoi ne pas faire une simple boucle for ?
Par exemple :
for(i=0;i<50;i++) scanf(...)
Sinon, pour le return; il manque le 0. Il s'agit de return 0;
Ensuite pour les points que vous devez faire, je vous recommande les fonctions.
Ce qui pourra donner :
#include <stdio.h> #include <stdlib.h> int nbZero(int *t, const size_t sz) { ... } int premier EltNonNul(int *t, const size_t sz) { ... } int main (void) { int t[50],i,n; printf("Veuillez rentrer les 50 nombres : \n"); for (i=0;i<50;i++) { scanf("%d",&t[i]); } printf("%d éléments nuls\n",nbZero(t,50); printf("%d ...\n",premierEltNonNul(t,50); ... system("PAUSE"); return 0; }
Pour compter le nombre d'éléments non nuls, une simple boucle, une condition (if) et un compteur fera l'affaire.
Pour trouver le premier indice non nul, une simple boucle avec une condition (if) fera l'affaire.
Et pour l'affichage, une simple boucle avec un printf fera l'affaire.
Cdlt,
Bè le reste des questions
Déjà premièrement comment calculer le nombre de 0 tirés...
j'ai essayer de rajouter un if :
if (t[i]==0){
...
mais là je sais plus quoi faire.
Et en même temps avec une boucle WHILE je vois pas non plus
Déjà premièrement comment calculer le nombre de 0 tirés...
j'ai essayer de rajouter un if :
if (t[i]==0){
...
mais là je sais plus quoi faire.
Et en même temps avec une boucle WHILE je vois pas non plus
Merci mais je n'utilise pas le FOR...
je dois utiliser while ou if
j'ai essayer ça :
Mais ça me marque toujours 1 que j'en mette 0 ou 5
(j'ai remplacé 50 par 5 histoire que je puisse rapidement tester le programme)
je dois utiliser while ou if
j'ai essayer ça :
#include <stdio.h> #include <stdlib.h> int main () { int t[5],i,n,trouve; i=0; trouve=0; printf("Veuillez rentrer les 5 nombres : \n"); while(i<5){ scanf("%d",&t[i]); i=i+1; if(t[i]==0){ trouve=trouve+1; printf("Nombre de zero est de : %d\n",trouve); } } system("PAUSE"); return; }
Mais ça me marque toujours 1 que j'en mette 0 ou 5
(j'ai remplacé 50 par 5 histoire que je puisse rapidement tester le programme)
oui j'allais répondre merci bien Mr.D@RK
j'ai trouvé :
Maintenant je vais tester la suite je vous dis
j'ai trouvé :
#include <stdio.h> #include <stdlib.h> int main () { int t[5],i,n,trouve; i=0; trouve=0; printf("Veuillez rentrer les 5 nombres : \n"); while(i<5){ scanf("%d",&t[i]); if(t[i]==0){ trouve=trouve+1; } i=i+1; } printf("Nombre de zero est de : %d\n",trouve); system("PAUSE"); return; }
Maintenant je vais tester la suite je vous dis