Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: martiin29 en 12 Septiembre 2011, 06:57 am



Título: [Pregunta][Porgramacion] Programación C/C++
Publicado por: martiin29 en 12 Septiembre 2011, 06:57 am
Hola a todos, tenia unas preguntas, pero e buscado por internet y no concuentro como hacerlas..

Como defino el tipo de dato nodo con cada uno de sus campos?
Si a=1, y=14:
Como hago que un puntero f apunte a la posicion 14.
Hacer que a lo que apunte p valga 40
Que a lo que x tome valor de lo que apunta p
Hacer que las posiciones 1 - 10 de a valgan lo que apunta f.

Yo lo hago pero no esta bien.. :/ Si alguen me puede ayudar..


Título: Re: [Pregunta][Porgramacion] Programación C/C++
Publicado por: Alien-Z en 12 Septiembre 2011, 10:15 am
Buenas:

Para explicarte mejor deberías postear lo que hayas hecho (aunque esté mal) y preguntar sobre ese ejemplo, o al menos crear las variables y punteros y preguntar sobre ellos, pero si te los vas inventando conforme vas escribiendo el que lee no se entera bien de a qué te refieres.

Te he hecho un ejemplo que plantea lo que has preguntado, a ver si asi entiendes cómo hacerlo:

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.    int x = 1, y = 14;
  7.  
  8.    //punteros
  9.    int *puntx = &x;   //El puntero "puntx" apunta a la direccion de la variable "x"
  10.    int *punty = &y;   //El puntero "punty" apunta a la direccion de la variable "y"
  11.  
  12.    //comprobaciones
  13.    cout << "Pedimos el valor de X desde la variable: " << x << endl;
  14.    cout << "Pedimos el valor de Y desde la variable: " << y << endl;
  15.    cout << "Pedimos el valor de X desde el puntero: " << *puntx << endl;
  16.    cout << "Pedimos el valor de Y desde el puntero: " << *punty << endl;
  17.  
  18.    //modificamos el valor de "x" e "y" desde los punteros
  19.    *puntx = 10;
  20.    *punty = 15;
  21.  
  22.    //comprobaciones
  23.    cout << endl << endl;
  24.    cout << "Pedimos el valor de X desde la variable: " << x << endl;
  25.    cout << "Pedimos el valor de Y desde la variable: " << y << endl;
  26.    cout << "Pedimos el valor de X desde el puntero: " << *puntx << endl;
  27.    cout << "Pedimos el valor de Y desde el puntero: " << *punty << endl;
  28.  
  29.    //hacemos que "x" valga lo mismo que "y" desde los punteros
  30.    *puntx = *punty;
  31.  
  32.    //comprobaciones
  33.    cout << endl << endl;
  34.    cout << "Pedimos el valor de X desde la variable: " << x << endl;
  35.    cout << "Pedimos el valor de X desde el puntero: " << *puntx << endl;
  36.  
  37.    cout << endl << endl;
  38.    cout << "El puntero puntx apunta a la direccion: " << puntx << endl;
  39.    cout << "El puntero punty apunta a la direccion: " << punty << endl;
  40.  
  41.    //hacemos que el puntero "puntx" apunte a la misma direccion que el puntero "punty"
  42.    puntx = punty;
  43.  
  44.    //comprobaciones
  45.    cout << endl << endl;
  46.    cout << "El puntero puntx apunta a la direccion: " << puntx << endl;
  47.    cout << "El puntero punty apunta a la direccion: " << punty << endl;
  48.  
  49.    cin.get();
  50.    return 0;
  51. }
  52.  

Va comentado, cualquier cosa pregunta. Saludos.


Título: Re: [Pregunta][Porgramacion] Programación C/C++
Publicado por: Ferno en 12 Septiembre 2011, 15:26 pm
Sobre el tipo de dato nodo, depende de los campos o datos que tenga que almacenar dicho nodo. Además, también depende de la estructura de datos que vayas a usar!
Para todo lo demás, existen punteros :)