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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6
21  Programación / Programación C/C++ / Re: c++ Funciones por referencia en: 11 Junio 2011, 04:43 am
Tu quieres trabajar en la función llenar como si fuera un array, y por el contrario la declaras como un entero.

Citar
http://c.conclase.net/curso/?cap=015b

Cuando pasamos un array como parámetro en realidad estamos pasando un puntero al primer elemento del array, así que las modificaciones que hagamos en los elementos del array dentro de la función serán permanentes aún después de retornar.

Esto significa que declarando simplemente el array bien en la función ya te funciona lo que tu quieres hacer.

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #define max 300
  4. using namespace std;
  5. void llenar(int a[]);
  6. void leer(int a,int b,int c);
  7. int main(int argc, char *argv[])
  8. {
  9.    int num[max],i,x,y,h;
  10.  
  11.    llenar(num);
  12.    leer(x,y,h);
  13.  
  14.    system("PAUSE");
  15.    return EXIT_SUCCESS;
  16. }
  17.  
  18. void leer(int a,int b,int c)
  19. {
  20.     cout<<"Ingrese el valor X ...(0.x)"<<endl;
  21.     cin>>a;
  22.     cout<<"Ingrese el valor Y ...(0.y)"<<endl;
  23.     cin>>b;
  24.     cout<<"Ingrese el valor Z ...(0.z)"<<endl;
  25.     cin>>c;
  26.  
  27. }
  28. void llenar(int a[])
  29. {
  30.     int i;
  31.          for(i=0;i<max;i++)
  32.          {
  33.               a[i]=0;
  34.          }
  35.          cout << endl;
  36. }
  37.  
22  Programación / Programación C/C++ / Re: Razones trigonometricas(C++) en: 10 Junio 2011, 03:59 am
Es que creo que estás confundiendo los términos. El seno, coseno etc no tienen magnitud. Los grados, minutos y segundos o radianes, es sobre el ángulo.
23  Programación / Programación C/C++ / Re: Razones trigonometricas(C++) en: 9 Junio 2011, 21:15 pm
Edito:

A ver, primero debes pasar el valor en grados a radianes, la relación es sencilla 2*PI radianes=360º. Una vez que lo pasas puedes operar en radianes. Con eso ya tienes el resultado del seno, que creo que es lo que tu quieres, o me equivoco?

Bueno, pues eso es lo que tienes guardado en "r", y ese debería ser el resultado que ti quieres y el correcto.

Otra cosa sería que quieras pasarlo a grados de nuevo, tienes que aplicar el arcoseno a "r", y el resultado convertirlo de nuevo a grados con la misma relación.
24  Programación / Programación C/C++ / Re: Llamar a un metodo de una misma clase C++ en: 9 Junio 2011, 18:41 pm
Pues el problema tiene que venir de otro lado, porque deberías poder llamarla de ambas maneras, es decir, como una función normal
estado(int);

o usando el puntero

this->estado(int);
25  Programación / Programación C/C++ / Re: Raices y Potencias (C++) en: 9 Junio 2011, 18:38 pm
Algo haces mal para que te de 5 como resultado xD. El seno varía entre -1 y 1 sin desplazamiento... de hecho el resultado que debería dar es 0,49 con ese 300/10.

Date cuenta que estas cuentas debes hacerlas en radianes, si no lo estás haciendo ya.
26  Programación / Programación C/C++ / Re: Raices y Potencias (C++) en: 9 Junio 2011, 03:56 am
Para hayar potencias las puedes hacer con un bucle, o mediante la función pow de la librería cmath o math.h
Código:
double pow (      double base,      double exponent );
long double pow ( long double base, long double exponent );
      float pow (       float base,       float exponent );
     double pow (      double base,         int exponent );
long double pow ( long double base,         int exponent );

Si pones cmath o math.h en cplusplus.com por ejemplo puedes ver sus funciones.

Respecto al método de la bisección. Alguien a quien le acaban de explicar el teoréma de pitágoras no creo que esté capacitado para entender el método de la bisección, aunque igual me equivoco.
27  Programación / Programación C/C++ / Re: Cadenas de caracteres en: 4 Junio 2011, 18:34 pm
A la hora de imprimir el resultado te estás pasando en el recorrido del array

Esto tienes tú.
Código
  1.    for(j=0; j<=M; j++)
  2. {
  3.  printf("%d ", e[j]);
  4. }
  5.  
Debería ser así
Código
  1.    for(j=0; j<M; j++)
  2. {
  3.  printf("%d ", e[j]);
  4. }
  5.  
Date cuenta que los arrays en C y C++ tienen el siguiente rango [0,N-1] y no [1,N]


De todas maneras me extraña que te funcione algo, porque sigues haciendo mal la comprobación

Código
  1. if (T==R)
  2. debería ser
  3. if (T==R[i])
  4.  
28  Programación / Programación C/C++ / Re: Cadenas de caracteres en: 4 Junio 2011, 05:21 am
Veo varias cosas mal, lo primero es que recorres mal el vector. Tu haces esto.

Código
  1. i = strlen(R);
  2. for(;i=0;i++)
  3.     {
  4.     if (T=R)
  5.      {
  6.       M++;
  7.       e=i;
  8.      }
  9.  

Eso es un bucle infinito, primero es que a i le das el valor del vector, es decir 40 y empiezas a sumar la 'i' hasta que 'i=0' (otra cosa que está mal, esto siempre será cierto, porque a 'i' le estas dando el valor 0, la comparación es hace con '==').

En definitiva, para recorrer el vector tienes 2 posibilidades.
Código
  1. for (int i=0;i<strlen(R);i++)
  2. o bien
  3. for (int i=strlen(R);i>=0;i--)
  4.  

Despues vuelves a hacer mal la comparación

Código
  1. if (T=R)
  2. La comparación es '==', y además tienes que compararlo caracter a caracter
  3. if (T==R[i])
  4.  

Finalmente debes añadir todas las posiciones al array e. Podrías hacerlo de esta manera.

Código
  1. e[M]=i;
  2. M++;
  3.  

Por cierto, no inicializas "M" al principio, eso podría darte problemas. Recuerda inicializar siempre las variables.

Y creo que no me dejo nada.

Un saludo.
29  Programación / Programación C/C++ / Re: Problemita!! en: 2 Junio 2011, 19:15 pm
Pues nom[0] es un dato de tipo "cam", y eso lo estás intentando meter en mape.map[0], que es de tipo "int" y no tiene mucho sentido.
30  Programación / Programación C/C++ / Re: proyecto final **AYUDA** en: 2 Junio 2011, 02:55 am
La gente que pega aquí los enunciados de sus trabajos de clase, no sé en que demonios piensan si creen que alguien se va a poner a hacerles esto... es que es tener dos dedos de frente.
Páginas: 1 2 [3] 4 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines