vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 11 nov. 2005 à 09:59
Ca fait longtemps que j'ai fait ca, et il parait que c'est une mauvaise méthode
chatplusplus
Messages postés1Date d'inscriptionjeudi 3 novembre 2005StatutMembreDernière intervention 5 novembre 2005 5 nov. 2005 à 03:46
Merci pour ton code! Je l'ai utilisé pour implémenter la caméra embarquée d'un hélicoptère en openGL. À part les vecteurs dans lesquels j'ai un peu dû remettre le nez, everything worked fine! Merci encore...
samurai_2k5
Messages postés3Date d'inscriptionvendredi 9 juin 2006StatutMembreDernière intervention24 septembre 2005 24 sept. 2005 à 14:42
salut , voici un petit programme en C , pour effectuer le test de Chi2 :
1- generer un fichier de nombres aleatoires :
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main()
{
int N, i;
int rand();
FILE *sortie;
printf("Veuillez saisir la valeur de N");
scanf("%d",&N);
/******************** TEST DE CHi2 : 1D ********************/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
/****** Fonction principale *******************************/
int main()
{
/*Declaration de fonctions*/
int* decomptage( int );
int tester(float,float);
/*Declaration de variables*/
int i, N=0, S, *p;
float Y=0, k,chi;
/*Saisie de S*/
printf("Veuillez saisir la valeur de S");
scanf("%d",&S);
printf("Veuillez saisir la valeur qui correspond a %d dans la table",S-1);
scanf("%f",&chi);
p=decomptage(S);
for (i=0;i<S;i++)
{
N=*(p+i)+N;
11 nov. 2005 à 09:59
5 nov. 2005 à 03:46
24 sept. 2005 à 14:42
1- generer un fichier de nombres aleatoires :
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main()
{
int N, i;
int rand();
FILE *sortie;
printf("Veuillez saisir la valeur de N");
scanf("%d",&N);
sortie= fopen("fichier_aleatoire", "w");
srand(time(0));
for (i=1; i<N+1; i++)
{
fprintf(sortie, "%f \n",(float) rand()/RAND_MAX);
}
return 0;
}
Effectuer le test :
/******************** TEST DE CHi2 : 1D ********************/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
/****** Fonction principale *******************************/
int main()
{
/*Declaration de fonctions*/
int* decomptage( int );
int tester(float,float);
/*Declaration de variables*/
int i, N=0, S, *p;
float Y=0, k,chi;
/*Saisie de S*/
printf("Veuillez saisir la valeur de S");
scanf("%d",&S);
printf("Veuillez saisir la valeur qui correspond a %d dans la table",S-1);
scanf("%f",&chi);
p=decomptage(S);
for (i=0;i<S;i++)
{
N=*(p+i)+N;
}
float n=(float)N; float s=(float)S;
for (i=0;i<S;i++)
{
k=(float)*(p+i);
Y= Y+(k-n/s)*(k-n/s);
}
Y=Y*(s/n);
printf("%f \n ", Y);
tester(Y,chi);
return 0;
}
/*************************/
/* Fonction de decomptage*/
/*************************/
int* decomptage(int S)
{
int a,*p,i;
FILE *sortie;
float x;
/* allocation dynamique du pointeur p*/
p=(int*)malloc(S*sizeof(int));
for (i=0;i<S;i++)
{
*(p+i)=0;
}
/*Lecture du fichier*/
sortie= fopen("fichier_aleatoire", "r");
while(fscanf(sortie, "%f",&x)!=EOF)
{
a=x*S;
*(p+a)=*(p+a)+1;/* ou encore p[a]++ */
}
for (i=0;i<S;i++)
{
printf("%d \n ", *(p+i));
}
return p;
}
/*********************************/
/****** fonction tester **********/
int tester(float d,float h)
{
if ( d<h)
{printf("accepter \n");
return 1;
}
else
{printf(" refuser \n");
return 0;
}
}