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 : Sélectionner tout - Visualiser dans une fenêtre à part
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;
}