Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Snarky en 9 Octubre 2017, 12:59 PM

Título: Matriz triangulada inferior
Publicado por: Snarky en 9 Octubre 2017, 12:59 PM
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
Título: Re: Matriz triangulada inferior
Publicado por: ivancea96 en 9 Octubre 2017, 19:52 PM
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):
Código (cpp) [Seleccionar]
resTinf(varN, varL, vaxR, varB)
Sabiendo que cada variable tendrá eltipo correcto.
Título: Re: Matriz triangulada inferior
Publicado por: Snarky en 9 Octubre 2017, 23:54 PM

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;

}
Título: Re: Matriz triangulada inferior
Publicado por: ivancea96 en 10 Octubre 2017, 20:06 PM
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.