Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: cazagavilan en 14 Abril 2012, 09:31 am



Título: Punteros y arrays
Publicado por: cazagavilan en 14 Abril 2012, 09:31 am
Buenas!

Tengo este ejercicio en el que el usuario introuce cuantos numeros va a introducir...  luego pide los numeros y luego los muestra enorden inverso.
Código
  1. #include <iostream>
  2. #include <new>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int numero;
  8. int valor;
  9. int* puntero;
  10. cout << "Cuantos numeros desea introducir? " << endl;
  11. cin >> valor;
  12. puntero = new (nothrow) int[valor];
  13. if(puntero == 0)
  14. cout << " Error... no se pudieron introducir los valores..." << endl;
  15.  
  16. else
  17. {
  18. cout << "Introduzca los numero de uno en uno.. ejemplo( 1 (enter)... 2(enter)...)" << endl;
  19. for(numero= 0; numero < valor; numero++)
  20. {
  21. cout << "Introduzca el numero: " << endl;
  22.    cin >> puntero[numero];
  23. cout << endl;
  24. }
  25. for(int i = valor;  i > 0; i--)
  26. {
  27. cout << puntero[i] <<endl;
  28. }
  29.  
  30.  
  31. }
  32. system("pause");
  33. return 0;
  34. }

Da error en el primer numero que introduce para invertir.

Muchas gracias.


Título: Re: Punteros y arrays
Publicado por: satu en 14 Abril 2012, 12:23 pm
Hola

Código
  1. for(int i = valor - 1 ;  i >= 0; i--)
  2. {
  3. cout << puntero[i] << endl;
  4. }
  5.  

Saludos


Título: Re: Punteros y arrays
Publicado por: cazagavilan en 14 Abril 2012, 12:44 pm
Me puedes explicar un poco lo de (valor -1).

Gracias!


Título: Re: Punteros y arrays
Publicado por: satu en 14 Abril 2012, 13:34 pm
Hola

Como ya sabrás, en C/C++ los arrays se recorren desde 0 hasta longitud-1, por lo tanto si creas el array de longitud 5, los valores los almacena en array[0], array[1], ... array[4], por eso tienes que recorrerlo desde valor-1, porque en array[5] no sabes qué habrá, es una zona de memoria que no has reservado.

Espero que lo hayas entendido

Saludos


Título: Re: Punteros y arrays
Publicado por: cazagavilan en 14 Abril 2012, 19:32 pm
Gracias!