Fonction et tableau 2 dimensions
Bonjour,
J'ai une exercice à l'école. Je suis bloqué à partir de la question 3. Vous pouvez m'aider, s'il vous plaît??
Le sujet:
On s'intéresse à la gestion des inscriptions à un club sportif. On va créer un tableau tab_insc[N][P] avec N: le numéro d'étudiant, et P: le numéro de sport. Après on va remplir par hasard le tableau avec deux numéros: 1 et 0 (1 càd l'étudiant est inscrite au sport et 0 sinon).
Question 1: Ecrivez la fonction: void remplir_tab(int tab_insc[N][P]) pour afficher le tableau.
Question 2: Ecrivez la fonction: int nb_sports(int p, int tab_insc[N][P]) qui renvoie le nombre de sports auxquels l'étudiant numéro p est inscrite.
Question 3: Ecrivez la fonction: void compter_inscrits(int tab_insc[N][P],int tab_nb_inscrits[P]) qui utilise les données contenues dans le tableau tab_insc et qui, pour chaque sport:
- compte le nombre d'inscrits,
- affiche le résultat: le numéro du sport et le nombre d'inscrits,
- affecte cette valeur à l'élément correspondant du tableau tab_nb_inscrits
...
J'ai fait les codes jusqu'à question 2 et elles fonctionnent bien, comme ça:
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 43 44 45 46 47
|
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define P 5
#define N 10
void remplir_tab(int tab_insc[N][P])
{
int i,j;
srand(time(0));
printf ("Le Tableau est:\n");
for(i=0;i<N;i++)
{
for(j=0;j<P;j++)
{
tab_insc[i][j]=rand()%2;
printf ("%d ",tab_insc[i][j]);
}
printf ("\n");
}
}
void nb_sports(int p,int tab_insc[N][P])
{
int j,s=0;
for (j=0;j<P;j++)
{
if (tab_insc[p-1][j]==1)
{
s++;
}
}
printf ("Le nombre de sports que vous avez choisi est: %d\n",s);
}
int main(void)
{
int p,tab_insc[N][P];
remplir_tab(tab_insc);
printf ("Veillez donner le numéro d'étudiant:\n");
scanf ("%d",&p);
nb_sports(p,tab_insc);
return 0;
} |