Tengo esta función que calcula x[0],x[1],x[2] la cual n son las filas, L la matriz, x la incógnita y la b la solución. El problema es que me piden que la llame desde el main y no se como pasarle los parámetros a la función, os la dejo aquí:
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]);
}
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex
En el main tendrás que tener declaradas las 3 variables: L, x y b (y la n también, aunque la puedes pasar directamente a la función sin más):
resTinf(varN, varL, vaxR, varB)
Sabiendo que cada variable tendrá eltipo correcto.
Tengo declaradas así las variables. Como debo llamar a la función? Voy perdido en cuanto punteros.
int main {
double **L,
double *x;
double *b;
L[1][0] = 3;
L[2][0] = 3;
L[2][1] = 3;
b[0] = 2.0;
b[1] = 2;
b[2] = 2;
}
Los punteros son solo variables con un entero guardado (una dirección de memoria). A parte de eso, no almacenan nada más, los datos están en la memoria a la que apunta. Esa memoria a la que apunta, tienes que reservarla (malloc).
Es preferible que busques en Google sobre C y memoria dinámica, tendrás muchas más referencias.