Affichage des 0s
Duaam
Messages postés
21
Statut
Membre
-
Duaam Messages postés 21 Statut Membre -
Duaam Messages postés 21 Statut Membre -
Voici mon code source sur le c++ d'un programme qui calcule les moyennes marginales ,les variances et l'écart type d'une matrice de variables aléatoires .
Après l'exécution du programme et avant d'afficher la matrice aléatoire ses dimensions données en n et m s'affichent comme matrice de 0 , alors comment je peux supprimer l'apparition de ces 0 .
Merci .
Édit ajout de la coloration syntaxique
Après l'exécution du programme et avant d'afficher la matrice aléatoire ses dimensions données en n et m s'affichent comme matrice de 0 , alors comment je peux supprimer l'apparition de ces 0 .
Merci .
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
void remplissage (float T[100][100],int n,int m)
{
int i,j;
srand(time(NULL));
for (i=0;i<n;i++)
{
for (j=0;j<m;j++){
T[i][j]= rand()%10;
printf ("%d ",T[i][j]);
}
printf ("\n");
}
}
//calcul des moyennes marginales //
void moy_marg (float M[100][100],float T[100],int *l,int *p)
{
int i,j;float s;
for (i=0;i<*l;i++)
{
s=0;
for (j=0;j<*p;j++)
{
s=s+M[i][j];}
T[i]=s/(*p);}
}
//calcul de la variance //
void var_ecar(float M[100][100],float V[100],float W[100],int *l,int *p)
{
int i,j;
float r,T[100];
for (i=0;i<*l;i++)
{
r=0;
for(j=0;j<*p;j++)
{
r=r+((M[i][j]-T[i])*(M[i][j]-T[i]));
}V[i]=r/(*p);
W[i]=sqrt(V[i]);
}
}
void affichage (float N[100],int c)
{
int i;
for(i=0;i<c;i++)
{
printf("%f \n",N[i]);
}printf("\n");}
void affichagem (float N[100][100],int c,int d)
{
int i,j;
for(i=0;i<c;i++)
{
for(j=0;j<d;j++){
printf("%f\t",N[i][j]);
}
printf("\n");}
}
main()
{
int n,m,i,j; float M[100][100], V[100],T[100],W[100];
system("color 1D");
printf("Donnez les dimensions de votre matrice :\n");
printf("Donnez n=");
scanf("%i",&n);
printf("Donnez m=");
scanf("%i",&m);
remplissage(M,n,m);
affichagem (M,n,m);
moy_marg(M,T,&n,&m);
system("color 4E");
printf("voici votre vecteur moyennes :\n");
affichage (T,n);
var_ecar (M,V,W,&n,&m);
printf("Voici votre vecteur variance :\n");
affichage (V,n);
system("color 3F");
printf("Voici votre vecteur ecart type :\n");
affichage (W,n);
system("pause");
return 0;
}
Édit ajout de la coloration syntaxique
3 réponses
Bonjour,
Quelques remarques sur ton code :
srand(time(NULL));=> A mettre plutôt dans le main() au début. Il faut l'utiliser une seule fois dans ta fonction.
main() => C'est int main(void) le bon prototype sans argument.
Attention à la fonction system()... Pas portable.
Utilise plutôt des double que des float.
L'indentation est à revoir également.
Sinon, pour info, ton code ce n'est pas du C++ mais du C...
Cdlt,
Google is your friend
Quelques remarques sur ton code :
srand(time(NULL));=> A mettre plutôt dans le main() au début. Il faut l'utiliser une seule fois dans ta fonction.
main() => C'est int main(void) le bon prototype sans argument.
Attention à la fonction system()... Pas portable.
Utilise plutôt des double que des float.
L'indentation est à revoir également.
Sinon, pour info, ton code ce n'est pas du C++ mais du C...
Cdlt,
Google is your friend
Oui les syntaxes se ressemblent. Mais ce sont 2 langages différents.
Si je te dis que ce que tu fais c'est du C et pas du C++, c'est pour les prochaines fois où tu demandes de l'aide. Si tu demandes un truc en C++, on te donnera un code C++ que tu intègreras dans ton C... Pas super.
C'est important de connaître sa langue ;-).
Si je te dis que ce que tu fais c'est du C et pas du C++, c'est pour les prochaines fois où tu demandes de l'aide. Si tu demandes un truc en C++, on te donnera un code C++ que tu intègreras dans ton C... Pas super.
C'est important de connaître sa langue ;-).