J'ai cette fonction qui calcule x [0], x [1], x [2] où n sont les rangées, L la matrice inférieure (0 sur la diagonale supérieure), x l'inconnu et le b la solution. Le problème est qu'ils me demandent de l'appeler de la principale et ne savent pas comment passer les paramètres à la fonction, je laisse ici:Paramètres dans une fonction
void resTinf (int n, double **L, double *x, double *b){
int i, k;
x[0]=b[0];
for (i = 1, i<n, i++){
x[i]=b[i];
for (k = 0, k<i, k++){
x[i] = x[i]-L[i][k]*x[k];
}
}
x[2] = b[2] - L[2][0]*x[0]-L[2][1]*x[1];
printf(x[1], x[2], x[3]);
}
principale:
int n = 3;
double **a, *v, *u;
scanf ("% le " , &v[0 ]);
scanf ("% le " , &v[1 ]);
scanf ("% le " , &v[2 ]);
scanf ("% le " , &a[1][ 0]);
scanf ("% le " , &a[2 ][ 0]);
scanf ("% le " , &a[2 ][ 1 ]);
Eh bien pour commencer [un tableau de tableaux n'est pas la même chose que d'un pointeur vers un pointeur] (https: //stackoverflow.com/questions/18440205/casting-void-to-2d-array-of-int-c/18440456#18440456). Sans plus d'informations et un [Exemple minimal, complet et vérifiable] (http://stackoverflow.com/help/mcve), il est vraiment difficile de dire autre chose. Et s'il vous plaît prenez le temps de [lire sur la façon de poser de bonnes questions] (http://stackoverflow.com/help/how-to-ask). –
Je ne comprends pas vraiment, vous devez utiliser les paramètres que vous donnez à votre programme quand vous l'exécutez: './matrix n param1 param2 param3' ou juste quelques variables qui sont dans votre fonction principale? – pierreafranck
J'ai ceci dans ma fonction principale: int n = 3; \t \t double ** a, * v, * u; \t \t \t \t scanf ("% le" & v [0]); \t scanf ("% le", & v [1]); \t scanf ("% le", & v [2]); \t \t \t \t \t scanf ("% le", & a [1] [0]); \t scanf ("% le", & a [2] [0]); \t scanf ("% le", & a [2] [1]); – Snarky