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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema de acceso a una condición
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema de acceso a una condición  (Leído 1,484 veces)
poliche

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Problema de acceso a una condición
« en: 6 Octubre 2016, 01:08 am »

Muy Buenas,

Necesito ayuda con un error de c++ que no sé resolver.
El caso es que estoy realizando un programa para estudiar la transferencia de calor por conducción en una placa 2D, con lo que necesito construir una malla sobre la placa, asignando coordenadas a cada nodo y cara. El hecho es que el programa funciona bien hasta que la iteración llega a la coordenada y=0.6 y no logro entender por qué, ya que, aunque cuando reviso el vector donde guardo las coordenadas y (y_face) el sexto valor es igual a 0.6, el programa no me deja acceder a sentencias condicionales dónde y==0.6.

A continuación os adjunto la parte del código que estoy usando para revisar el error y ni siquiera con un programa tan sencillo logro acceder a la condición y==0.6:

// programa_2


Código
  1. #include<iostream>
  2. #include<stdlib.h>
  3.  
  4. using namespace std;
  5.  
  6. int main(void){
  7. int N_h=11, N_v=8;
  8. double y_face[N_v], y_node[N_v+1]; //faces_and_nodes_coordinates
  9. double L=1.1, H=0.8; //geometric_definition
  10. int i=0;
  11.  
  12.  
  13.  
  14. cout<<"y_face:"<<"\n";
  15. for (i=0;i<=N_v;i++){
  16. y_face[i]=(H/N_v)*i;
  17.        cout<<y_face[i]<<endl;
  18.    }
  19.    cout<<"y_node:"<<"\n";
  20.    for (i=1;i<=N_v;i++){
  21.        y_node[i]=(y_face[i-1]+y_face[i])/2;
  22.        cout<<y_node[i]<<endl;
  23.    }
  24.    y_node[0]=0; //first node y coordinates
  25.    y_node[N_v+1]=H; //last node y coordinates
  26. if (y_face[6]==0.6){
  27. cout<<"hola";
  28. }
  29.  
  30. }
  31.  
  32.  
Si me pudierais ayudar a descubrir por qué os estaría muy agradecido

y_face:
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
y_node:
0.05
0.15
0.25
0.35
0.45
0.55
0.65
0.75

--------------------------------
Process exited with return value 0
Press any key to continue . . .

Esto es lo que obtengo, como veis a pesar de que el sexto valor del vector y_face es 0.6, el programa no muestra la palabra "hola" por pantalla...

MOD: No hacer doble post. Usar etiquetas GeSHi


« Última modificación: 6 Octubre 2016, 01:44 am por MCKSys Argentina » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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