Programme pour l’exécution d’un tableau statistique
4 participants
Forum INFOMATH :: Enseignement de l'informatique :: INFO - Supérieur (Etudiants et Professionnels) :: C/C++
Page 1 sur 1
Programme pour l’exécution d’un tableau statistique
Salut
Voila les instructions d’un programme qui permet de traité une tableau statistique, mais malheureusement sa fonctionne pas alors s’il vous plait dite moi où sont mes conflits pour que mon programme s’exécute
NB :
- pour un tableau statistique il existe deux cas (cas continus, cas discret)
-Le variable C est pour tester sur quel cas l’utilisateur va travailler
-les donner (modalité (ni), effectifs (xi)) et les résultats (fréquences (fi), fréquence cumulé (F), ci) sont stocké dans une matrice dont le membre des colonne (N) est donner par l’utilisateur.
-xmax : le plus grand nombre parmi les modalité seulement dans le cas discret
-xmin : le nombre le plus petit parmi les modalité seulement dans le cas discret
-so : la somme de tous les effectifs
-F : fréquence cumuler F=Σfi
-X : c’est la moyenne arithmétique X=Σfi*xi
-v=Σfi(xi-X) c’est la variance
-l’écart type c’est la racine carré de la variance
Voila les instructions d’un programme qui permet de traité une tableau statistique, mais malheureusement sa fonctionne pas alors s’il vous plait dite moi où sont mes conflits pour que mon programme s’exécute
NB :
- pour un tableau statistique il existe deux cas (cas continus, cas discret)
-Le variable C est pour tester sur quel cas l’utilisateur va travailler
-les donner (modalité (ni), effectifs (xi)) et les résultats (fréquences (fi), fréquence cumulé (F), ci) sont stocké dans une matrice dont le membre des colonne (N) est donner par l’utilisateur.
-xmax : le plus grand nombre parmi les modalité seulement dans le cas discret
-xmin : le nombre le plus petit parmi les modalité seulement dans le cas discret
-so : la somme de tous les effectifs
-F : fréquence cumuler F=Σfi
-X : c’est la moyenne arithmétique X=Σfi*xi
-v=Σfi(xi-X) c’est la variance
-l’écart type c’est la racine carré de la variance
- Code:
#include<stdio.h>
#include<math.h>
void main()
{
int c,i,n,xmax,xmin,j,so;
float T[20][20],F,X,v;
printf("tapez:\n1 pour travaillé sur un tableau statistique dont les modalités sont discrètes\n2 pour travaillé sur un tableau statistique dont les modalité sont continue");
printf("\n");
scanf("%d",&c);
if(c==1)
{
printf("\ndonner la taille de la population(N):");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("\ndonner la %d ième modalité:",i+1);
scanf("%d",&T[0][i]);
printf("\ndonner la %d ième effectif",i+1);
scanf("%d",&T[1][i]);
}
for(so=0,i=0;i<n;i++)
{
so=so+T[1][i];
}
printf("\ncalcule des fréquences ");
for(i=0;i<n;i++)
{
T[2][i]=T[1][i]/so;
printf("%f",T[2][i]);
}
printf("\ncalcule des fréquences cumulé croissante");
printf("F(%d)=0",T[0][0]);
for(F=0,i=1;i<n;i++)
{
F=F+T[2][i];
printf("\tF(%d)=%f",T[0][i]);
}
for(X=0,i=0;i<n;i++)
X=X+T[0][i]*T[2][i];
printf("la moyenne arithmétique égale à %f",X);
xmax=T[0][0];
for(i=1;i<n;i++)
{
if(T[0][i]>xmax)
xmax=T[0][i];
}
xmin=T[0][0];
for(i=1;i<n;i++)
{
if(T[0][i]<xmin)
xmin=T[0][i];
}
printf("l'etandue ETD=%d-%d=%d",xmax,xmin,xmax-xmin);
for(v=0,i=0;i<n;i++)
v=v+T[2][i]*pow(T[0][i]-X,2);
printf("la variance égale à %f",v);
printf("l'écart type égale à %f",sqrt(v));
}
if(c==2)
{
printf("donner la taille de la population");
scanf("%d",&n);
for(i=0,j=1;i<(n*2);i++);
{
if(j==1)
{
printf("donner la borne inférieur de la %d ième intervalle",(i+2)/2);
scanf("%d",&T[0][i]);
j=2;
}
else
{
printf("donner la borne supérieur de la %d ième intervalle",(i+1)/2);
scanf("%d",&T[0][i]);
j=1;
}
}
for(i=0;i<n;i++)
{
printf("donner la %d ième effectif",i+1/2);
scanf("%d",&T[1][i]);
}
for(so=0,i=0;i<n;i++)
so=so+T[1][i];
printf("calcule des fréquances");
for(i=0;i<n;i++)
{
T[2][i]=T[1][i]/so;
printf("%f",T[2][i]);
}
printf("les fréquences cumulé croissantes");
for(j=0,F=0,i=0;i<n;i++)
{
F=F+T[2][i];
T[3][i]=F;
printf("F(%d,%d)=%f",T[0][j],T[0][j+1],F);
j=j+2;
}
printf("calcule de ci");
for(j=0,i=0;i<n;i++)
{
T[4][i]=T[0][j]+T[0][j+1]/2;
j=j+2;
}
for(X=0,i=0;i<n;i++)
{
X=X+T[4][i]*T[2][i];
printf("la moyenne arithmétique est %f",X);
}
for(v=0,i=0;i<n;i++)
v=v+T[2][i]*pow(T[4][i]-X,2);
printf("la variance égale à %f",v);
printf("l'écart type égale à %f",sqrt(v));
}
}
TAKTOUK- Entier Relatif
-
Nombre de messages : 187
Age : 37
Localisation : monastir
Réputation : -1
Points : 6094
Date d'inscription : 19/03/2008
Feuille de personnage
Capacité linguistique:
(996/1000)
Re: Programme pour l’exécution d’un tableau statistique
D'abord, il faudrait lire les avertissements du compilateur et indenter son code :
A partir de là, on pourra t'aider.
Pense aussi à modulariser ton code et à donner à tes variables des noms de plus de trois lettres.Compiling: main.c
main.c:4: warning: function declaration isn't a prototype
main.c:4: warning: return type of 'main' is not `int'
main.c: In function `main':
main.c:17: warning: int format, float arg (arg 2)
main.c:19: warning: int format, float arg (arg 2)
main.c:32: warning: int format, double arg (arg 2)
main.c:36: warning: int format, double arg (arg 2)
main.c:36: warning: too few arguments for format
main.c:55: warning: passing arg 2 of `pow' as floating rather than integer due to prototype
main.c:68: warning: int format, float arg (arg 2)
main.c:74: warning: int format, float arg (arg 2)
main.c:81: warning: int format, float arg (arg 2)
main.c:96: warning: int format, double arg (arg 2)
main.c:96: warning: int format, double arg (arg 3)
main.c:111: warning: passing arg 2 of `pow' as floating rather than integer due to prototype
main.c:73: warning: will never be executed
main.c:110: warning: will never be executed
A partir de là, on pourra t'aider.
Timon- Entier Naturel
-
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 6164
Date d'inscription : 14/01/2008
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: Programme pour l’exécution d’un tableau statistique
Je vais le compiler et te rappeler plutard.
methodiX- Admin
-
Nombre de messages : 1260
Localisation : Le couloir de l'école polytechnique de Tunis
Réputation : 68
Points : 7256
Date d'inscription : 22/03/2007
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: Programme pour l’exécution d’un tableau statistique
Timon : je souligne les points les plus importants.
si vous respectez ces consignes ce sera un travail professionnel.
Timon a écrit:D'abord, il faudrait lire les avertissements du compilateur et indenter son code :
Pense aussi à modulariser ton code et à donner à tes variables des noms de plus de trois lettres.
A partir de là, on pourra t'aider.
si vous respectez ces consignes ce sera un travail professionnel.
manianis- Nombre Réel
-
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6257
Date d'inscription : 11/10/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Programme pour l’exécution d’un tableau statistique
La compilation du mon turbo C n’a indiquer aucune faute mais la problème c’été dans l’exécution il m’apparais toujours des messages d’erreur.
Mais je veut essayer de faire quelle modification sur ce programme pour qu’il soit un peut plus compréhensible puis je le postera une autre fois
Mais je veut essayer de faire quelle modification sur ce programme pour qu’il soit un peut plus compréhensible puis je le postera une autre fois
TAKTOUK- Entier Relatif
-
Nombre de messages : 187
Age : 37
Localisation : monastir
Réputation : -1
Points : 6094
Date d'inscription : 19/03/2008
Feuille de personnage
Capacité linguistique:
(996/1000)
Re: Programme pour l’exécution d’un tableau statistique
C'est un problème récurrent : il faut apprendre à configurer son compilateur pour qu'il affiche tout ce qui lui paraît étrange. Je suppose que Turbo C a une documentation.TAKTOUK a écrit:La compilation du mon turbo C n’a indiquer aucune faute mais la problème c’été dans l’exécution il m’apparais toujours des messages d’erreur.
Ensuite, voici votre code réindenté (merci AStyle) mais non corrigé :
- Code:
#include<stdio.h>
#include<math.h>
void main()
{
int c, i, n, xmax, xmin, j, so;
float T[20][20], F, X, v;
printf("tapez:\n1 pour travaillé sur un tableau statistique dont les modalités sont discrètes\n2 pour travaillé sur un tableau statistique dont les modalité sont continue");
printf("\n");
scanf("%d", &c);
if (c == 1)
{
printf("\ndonner la taille de la population(N):");
scanf("%d", &n);
for (i = 0;i < n;i++)
{
printf("\ndonner la %d ième modalité:", i + 1);
scanf("%d", &T[0][i]);
printf("\ndonner la %d ième effectif", i + 1);
scanf("%d", &T[1][i]);
}
for (so = 0, i = 0;i < n;i++)
{
so = so + T[1][i];
}
printf("\ncalcule des fréquences ");
for (i = 0;i < n;i++)
{
T[2][i] = T[1][i] / so;
printf("%f", T[2][i]);
}
printf("\ncalcule des fréquences cumulé croissante");
printf("F(%d)=0", T[0][0]);
for (F = 0, i = 1;i < n;i++)
{
F = F + T[2][i];
printf("\tF(%d)=%f", T[0][i]);
}
for (X = 0, i = 0;i < n;i++)
X = X + T[0][i] * T[2][i];
printf("la moyenne arithmétique égale à %f", X);
xmax = T[0][0];
for (i = 1;i < n;i++)
{
if (T[0][i] > xmax)
xmax = T[0][i];
}
xmin = T[0][0];
for (i = 1;i < n;i++)
{
if (T[0][i] < xmin)
xmin = T[0][i];
}
printf("l'etandue ETD=%d-%d=%d", xmax, xmin, xmax - xmin);
for (v = 0, i = 0;i < n;i++)
v = v + T[2][i] * pow(T[0][i] - X, 2);
printf("la variance égale à %f", v);
printf("l'écart type égale à %f", sqrt(v));
}
if (c == 2)
{
printf("donner la taille de la population");
scanf("%d", &n);
for (i = 0, j = 1;i < (n*2);i++);
{
if (j == 1)
{
printf("donner la borne inférieur de la %d ième intervalle", (i + 2) / 2);
scanf("%d", &T[0][i]);
j = 2;
}
else
{
printf("donner la borne supérieur de la %d ième intervalle", (i + 1) / 2);
scanf("%d", &T[0][i]);
j = 1;
}
}
for (i = 0;i < n;i++)
{
printf("donner la %d ième effectif", i + 1 / 2);
scanf("%d", &T[1][i]);
}
for (so = 0, i = 0;i < n;i++)
so = so + T[1][i];
printf("calcule des fréquances");
for (i = 0;i < n;i++)
{
T[2][i] = T[1][i] / so;
printf("%f", T[2][i]);
}
printf("les fréquences cumulé croissantes");
for (j = 0, F = 0, i = 0;i < n;i++)
{
F = F + T[2][i];
T[3][i] = F;
printf("F(%d,%d)=%f", T[0][j], T[0][j+1], F);
j = j + 2;
}
printf("calcule de ci");
for (j = 0, i = 0;i < n;i++)
{
T[4][i] = T[0][j] + T[0][j+1] / 2;
j = j + 2;
}
for (X = 0, i = 0;i < n;i++)
{
X = X + T[4][i] * T[2][i];
printf("la moyenne arithmétique est %f", X);
}
for (v = 0, i = 0;i < n;i++)
v = v + T[2][i] * pow(T[4][i] - X, 2);
printf("la variance égale à %f", v);
printf("l'écart type égale à %f", sqrt(v));
}
}
Quelques nouvelles remarques :
- la fonction main() doit retourner une valeur de type int.
- le type float doit être évité au maximum.
- les noms en majuscules devraient être réservés aux constantes.
- les nombres magiques doivent être cachés.
- le respect de la règle des 80 colonnes est fortement recommandé.
Timon- Entier Naturel
-
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 6164
Date d'inscription : 14/01/2008
Feuille de personnage
Capacité linguistique:
(1000/1000)
Sujets similaires
» Temps d'exécution d'un programme?
» Je veux un correctif pour ce programme
» Un programme pour vous aider à apprendre le Coran.
» Cherche cours de probabilité et statistiques ...
» temps d'exécution change??
» Je veux un correctif pour ce programme
» Un programme pour vous aider à apprendre le Coran.
» Cherche cours de probabilité et statistiques ...
» temps d'exécution change??
Forum INFOMATH :: Enseignement de l'informatique :: INFO - Supérieur (Etudiants et Professionnels) :: C/C++
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum