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.#include <iostream>
#include <new>
using namespace std;
int main()
{
int numero;
int valor;
int* puntero;
cout << "Cuantos numeros desea introducir? " << endl;
cin >> valor;
puntero = new (nothrow) int[valor];
if(puntero == 0)
cout << " Error... no se pudieron introducir los valores..." << endl;
else
{
cout << "Introduzca los numero de uno en uno.. ejemplo( 1 (enter)... 2(enter)...)" << endl;
for(numero= 0; numero < valor; numero++)
{
cout << "Introduzca el numero: " << endl;
cin >> puntero[numero];
cout << endl;
}
for(int i = valor; i > 0; i--)
{
cout << puntero[i] <<endl;
}
}
system("pause");
return 0;
}
Da error en el primer numero que introduce para invertir.
Muchas gracias.
Hola
for(int i = valor - 1 ; i >= 0; i--)
{
cout << puntero[i] << endl;
}
Saludos
Me puedes explicar un poco lo de (valor -1).
Gracias!
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
Gracias!