-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgene.c
101 lines (67 loc) · 1.58 KB
/
gene.c
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
int mvt[5*2000]={0};//(int*)calloc(5*2000,sizeof(int));
FILE *fptr;
int is[5]={0};
int doigt, angle, tps;
int i=0;
for(i=0;i<5*2000;i++)
{
mvt[i]=0;
}
for(i=0;i<5;i++)
{
is[i]=0;
}
if((fptr=fopen(argv[1],"r")) ==NULL)
{
printf("erreur dans le nom du fichier");
return 0;
}
float cran;
i=0;i=0;i=0;i=0;i=0;i=0;i=0;i=0;i=0;i=0;i=0;
while( fscanf(fptr,"%d;%d;%d;\n",&doigt,&angle,&tps)>0)
{
i=0;
printf("%d;%d;%d;\n",doigt,angle,tps);
printf("i=%d --- precedent :%d --- isdgt :%d;\n",i,5 *is[doigt]+5*i +doigt,is[doigt]);
cran=(( angle - mvt[5*(is[doigt]+i)+doigt] ) )/ (tps -is[doigt]);
printf("cran: %lf;\n",cran);
for (i=is[doigt];i<=tps;i++)
{
if(i!=is[doigt])
mvt[5*(is[doigt]+i)+doigt]= mvt[5*(is[doigt])+doigt] + i*cran;
printf("cran: %lf;\n",i*cran);
printf("ecrit : %d sur doigt :%d\n", mvt[5*(is[doigt]+i)+doigt],doigt);
}
is[doigt]=tps;
for(i=tps;i<2000;i++)
{
mvt[5*(i)+doigt]=angle;
}
}
fclose(fptr);
int max =0;
for(i=0;i<5;i++)
{
if( is[i]>max)
{
max=is[i];
}
}
char nom[50];
sprintf(nom,"%s.mvt",argv[1]);
if((fptr=fopen(nom,"w")) ==NULL)
{
printf("erreur ecriture du fichier");
return 0;
}
fprintf(fptr,"%d;\n",max);
for(i=0;i<max;i++)
{
fprintf(fptr,"%d;%d;%d;%d;%d;\n",mvt[5*i+0],mvt[5*i+1],mvt[5*i+2],mvt[5*i+3],mvt[5*i+4]);
}
fclose(fptr);
}