Bonjour à tous,
Voici le code sur lequel je travaille et sur lequel je bloque :
Il me fait des erreures au niveau des printf, juste apres avoir affiché toto.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 (*c)->contraintes = (double **)realloc((*c)->contraintes, sizeof(double*)*((*c)->nb_contraintes + 2)); (*c)->contraintes[((*c)->nb_contraintes)+1] = (double *)malloc(sizeof(double)*(1+(int)(*c)->fonction_economique[0])); (*c)->contraintes[((*c)->nb_contraintes)+1][0]=(*c)->contraintes[contrainte][0]; for(i=1; i<((*c)->contraintes[contrainte][0]);i++) { //si le terme traité n'est pas le signe de la contrainte if(i != (int)((*c)->contraintes[contrainte][0]-2)) { ((*c)->contraintes[contrainte][i]) = ((*c)->contraintes[contrainte][i]) * -1.00; (*c)->contraintes[((*c)->nb_contraintes)+1][i] = (*c)->contraintes[contrainte][i]; } //sinon si c'est le signe qui est traité else { (*c)->contraintes[contrainte][i] = -1; (*c)->contraintes[((*c)->nb_contraintes)+1][i] = -1; } } (*c)->nb_contraintes++; printf("toto\n"); printf("test : %.f \n",(*c)->contraintes[((*c)->nb_contraintes)+1][1]); printf("test2 : %.f \n",(*c)->contraintes[(*c)->nb_contraintes+1][2]);
le tableau (*c)->contraintes est un tableau a deux dimensions de double.
(*c)->nb_contraintes est un int.
Je veux reallouer une ligne puis remplir la derniere ligne ajoutée. Mais cela ne semble pas marcher, la premiere valeure ((*c)->contraintes[(*c)->nb_contraintes+1][0]) est remplie correctement et je peux l'afficher.
Et (*c)->fonction_economique[0] vaut 3.
Je vous remercie de toutes les réponses que vous pourrez m'apporter.
Sam
Partager