Subversion Repositories wimsdev

Rev

Rev 795 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
795 bpr 1
#include<stdio.h>
2
#include<string.h>
3
 
4
/* Entrees :
5
        argv[1] = nom du prog
6
        argv[2] = \a
7
        argv[3] = \b
8
        argv[4] = \c
9
        argv[5] = \comparaison1
10
        argv[6] = \vrai1
11
        argv[7] = \faux1
12
        argv[8] = \branchement1
13
        argv[9] = \comparaison2
17893 bpr 14
        argv[10]= \vrai2
795 bpr 15
        argv[11]= \faux2
16
        argv[12]= \branchement2
17
        argv[13]= \comparaison3
18
        argv[14]= \confparm1
19
*/
17893 bpr 20
int main(int argc,char *argv[])
795 bpr 21
{
22
        int a;
23
        int b;
17893 bpr 24
        int c;
795 bpr 25
        int vrai1;
26
        int faux1;
27
        int branchement1;
28
        int vrai2;
29
        int faux2;
17893 bpr 30
        int branchement2;
795 bpr 31
        int niveau;
32
        char comparaison1[7];
33
        char comparaison2[7];
34
        char comparaison3[7];
17893 bpr 35
 
795 bpr 36
        sscanf(argv[2],"%d",&a);
37
        sscanf(argv[3],"%d",&b);
38
        sscanf(argv[4],"%d",&c);
39
        strcpy(comparaison1,argv[5]);
40
        sscanf(argv[6],"%d",&vrai1);
41
        sscanf(argv[7],"%d",&faux1);
42
        sscanf(argv[8],"%d",&branchement1);
43
        strcpy(comparaison2,argv[9]);
44
        sscanf(argv[10],"%d",&vrai2);
45
        sscanf(argv[11],"%d",&faux2);
46
        sscanf(argv[12],"%d",&branchement2);
47
        strcpy(comparaison3,argv[13]);
48
        sscanf(argv[14],"%d",&niveau);
17893 bpr 49
 
795 bpr 50
        int cmp1 = ((strcmp(comparaison1,"&#62")==0) ? 0 : -1) ;
51
        int cmp2 = ((strcmp(comparaison2,"&#60")==0) ? 0 : 1) ;
52
        int cmp3 = ((strcmp(comparaison3,"&#60")==0) ? 0 : 1) ;
53
 
17893 bpr 54
        if (niveau==1)
795 bpr 55
        {
56
                if (b>a+cmp1)
57
                        b=b+vrai1;
58
        }
17893 bpr 59
 
60
        else if (niveau==2)
795 bpr 61
        {
62
                if (b>a+cmp1)
63
                        b=b+vrai1;
64
                else
65
                        a=a+faux1;
66
        }
17893 bpr 67
 
68
        else if (niveau==3)
795 bpr 69
        {
17893 bpr 70
                if (b>a+cmp1)
795 bpr 71
                {
72
                        b=b+vrai1;
17893 bpr 73
                        if (branchement1==1)
795 bpr 74
                        {
17893 bpr 75
                                if (a<c+cmp2 && b<c+cmp2)
76
                                        c=c-vrai2;
795 bpr 77
                        }
78
                }
17893 bpr 79
                else
795 bpr 80
                {
81
                        a=a+faux1;
17893 bpr 82
                        if (branchement1==0)
795 bpr 83
                        {
17893 bpr 84
                                if (a<c+cmp2 && b<c+cmp2)
85
                                        c=c-vrai2;
795 bpr 86
                        }
87
 
88
                }
89
        }
17893 bpr 90
 
91
 
92
        else if (niveau==4)
795 bpr 93
        {
17893 bpr 94
                if (b>a+cmp1)
795 bpr 95
                {
96
                        b=b+vrai1;
17893 bpr 97
                        if (branchement1==1)
795 bpr 98
                        {
17893 bpr 99
                                if (a<c+cmp2 && b<c+cmp2)
795 bpr 100
                                        c=c-vrai2;
101
                                else
102
                                {
103
                                        c=c+faux2;
104
                                        a++;
17893 bpr 105
                                }
795 bpr 106
                        }
107
                }
17893 bpr 108
                else
795 bpr 109
                {
110
                        a=a+faux1;
17893 bpr 111
                        if (branchement1==0)
795 bpr 112
                        {
17893 bpr 113
                                if (a<c+cmp2 && b<c+cmp2)
114
                                        c=c-vrai2;
795 bpr 115
                                else
116
                                {
117
                                        c=c+faux2;
118
                                        a++;
17893 bpr 119
                                }
120
 
795 bpr 121
                        }
122
 
123
                }
17893 bpr 124
        }
125
 
126
 
127
        else if (niveau==5)
795 bpr 128
        {
17893 bpr 129
                if (b>a+cmp1)
795 bpr 130
                {
131
                        b=b+vrai1;
17893 bpr 132
                        if (branchement1==1)
795 bpr 133
                        {
17893 bpr 134
                                if (a<c+cmp2 && b<c+cmp2)
795 bpr 135
                                {
136
                                        c=c-vrai2;
17893 bpr 137
                                        if (branchement2==1)
795 bpr 138
                                        {
17893 bpr 139
                                                if ( a+b<c+cmp3 || b-a < cmp3+c-b )
795 bpr 140
                                                {
141
                                                        a++;
142
                                                        b++;
143
                                                }
144
                                        }
145
                                }
146
                                else
147
                                {
148
                                        c=c+faux2;
149
                                        a++;
17893 bpr 150
                                        if (branchement2==0)
795 bpr 151
                                        {
17893 bpr 152
                                                if ( a+b<c+cmp3 || b-a < cmp3+c-b )
795 bpr 153
                                                {
154
                                                        a++;
155
                                                        b++;
156
                                                }
157
                                        }
17893 bpr 158
                                }
795 bpr 159
                        }
160
                }
17893 bpr 161
                else
795 bpr 162
                {
163
                        a=a+faux1;
17893 bpr 164
                        if (branchement1==0)
795 bpr 165
                        {
17893 bpr 166
                                if (a<c+cmp2 && b<c+cmp2)
795 bpr 167
                                {
168
                                        c=c-vrai2;
17893 bpr 169
                                        if (branchement2==1)
795 bpr 170
                                        {
17893 bpr 171
                                                if ( a+b<c+cmp3 || b-a < cmp3+c-b )
795 bpr 172
                                                {
173
                                                        a++;
174
                                                        b++;
175
                                                }
176
                                        }
177
                                }
178
                                else
179
                                {
180
                                        c=c+faux2;
181
                                        a++;
17893 bpr 182
                                        if (branchement2==0)
795 bpr 183
                                        {
17893 bpr 184
                                                if ( a+b<c+cmp3 || b-a < cmp3+c-b )
795 bpr 185
                                                {
186
                                                        a++;
187
                                                        b++;
188
                                                }
189
                                        }
17893 bpr 190
                                }
795 bpr 191
                        }
192
                }
193
        }
17893 bpr 194
 
195
        else if (niveau==6)
795 bpr 196
        {
17893 bpr 197
                if (b>a+cmp1)
795 bpr 198
                {
199
                        b=b+vrai1;
17893 bpr 200
                        if (branchement1==1)
795 bpr 201
                        {
17893 bpr 202
                                if (a<c+cmp2 && b<c+cmp2)
795 bpr 203
                                {
204
                                        c=c-vrai2;
17893 bpr 205
                                        if (branchement2==1)
795 bpr 206
                                        {
17893 bpr 207
                                                if ( a+b<c+cmp3 || b-a < cmp3+c-b )
795 bpr 208
                                                {
209
                                                        a++;
210
                                                        b++;
211
                                                }
212
                                                else
213
                                                {
214
                                                        a--;
215
                                                        b--;
216
                                                }
217
                                        }
218
                                }
219
                                else
220
                                {
221
                                        c=c+faux2;
222
                                        a++;
17893 bpr 223
                                        if (branchement2==0)
795 bpr 224
                                        {
17893 bpr 225
                                                if ( a+b<c+cmp3 || b-a < cmp3+c-b )
795 bpr 226
                                                {
227
                                                        a++;
228
                                                        b++;
229
                                                }
230
                                                else
231
                                                {
232
                                                        a--;
233
                                                        b--;
234
                                                }
235
                                        }
17893 bpr 236
                                }
795 bpr 237
                        }
238
                }
17893 bpr 239
                else
795 bpr 240
                {
241
                        a=a+faux1;
17893 bpr 242
                        if (branchement1==0)
795 bpr 243
                        {
17893 bpr 244
                                if (a<c+cmp2 && b<c+cmp2)
795 bpr 245
                                {
246
                                        c=c-vrai2;
17893 bpr 247
                                        if (branchement2==1)
795 bpr 248
                                        {
17893 bpr 249
                                                if ( a+b<c+cmp3 || b-a < cmp3+c-b )
795 bpr 250
                                                {
251
                                                        a++;
252
                                                        b++;
253
                                                }
254
                                                else
255
                                                {
256
                                                        a--;
257
                                                        b--;
258
                                                }
259
                                        }
260
                                }
261
                                else
262
                                {
263
                                        c=c+faux2;
264
                                        a++;
17893 bpr 265
                                        if (branchement2==0)
795 bpr 266
                                        {
17893 bpr 267
                                                if ( a+b<c+cmp3 || b-a < cmp3+c-b )
795 bpr 268
                                                {
269
                                                        a++;
270
                                                        b++;
271
                                                }
272
                                                else
273
                                                {
274
                                                        a--;
275
                                                        b--;
276
                                                }
277
                                        }
278
                                }
279
                        }
280
                }
281
        }
282
 
283
        printf("%d,%d,%d\n",a,b,c);
284
  return 0;
285
 
286
}