elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Matriz triangulada inferior
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Matriz triangulada inferior  (Leído 282 veces)
Snarky

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Matriz triangulada inferior
« en: 9 Octubre 2017, 12:59 »

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í:

Código
  1. void resTinf (int n, double **L, double *x, double *b){
  2.  
  3.  
  4. int i, k;
  5. x[0]=b[0];
  6.  
  7. for (i = 1, i<n, i++){
  8.  
  9. x[i]=b[i];
  10.  
  11. for (k = 0, k<i, k++){
  12.  
  13. x[i] = x[i]-L[i][k]*x[k];
  14. }
  15.  
  16.  
  17. }
  18.  
  19.  
  20. x[2] = b[2] - L[2][0]*x[0]-L[2][1]*x[1];
  21.  
  22.  
  23. printf(x[1], x[2], x[3]);
  24.  
  25.  
  26.  
  27. }


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex


« Última modificación: 9 Octubre 2017, 13:49 por engel lex » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.274


ASMático


Ver Perfil WWW
Re: Matriz triangulada inferior
« Respuesta #1 en: 9 Octubre 2017, 19:52 »

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
  1. resTinf(varN, varL, vaxR, varB)
Sabiendo que cada variable tendrá eltipo correcto.


En línea

Snarky

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Matriz triangulada inferior
« Respuesta #2 en: 9 Octubre 2017, 23:54 »


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;

}
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.274


ASMático


Ver Perfil WWW
Re: Matriz triangulada inferior
« Respuesta #3 en: 10 Octubre 2017, 20:06 »

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.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines