¿Se convirtio en un concurso? Entonces estan desvirtuando el hilo e incumpliendo las reglas, por favor, dejen de pegar codigo sin necesidad. Los que sientan la irrefrenable necesidad de mostrar su codigo por favor abranse un blog.
Reglas:
Limitantes:
El subforo, para defender sus objetivos, no aceptara peticiones de programas o códigos. Entiéndase lo siguiente (AQUÍ NO SE HACE LA TAREA DE NADIE)
•Se pregunta por conceptos abstractos. Aquí no estamos para hacerle el trabajo a nadie
Lo que voy a decir a continuación no es un ataque personal, solo es una crítica constructiva.
Aquí nadie hacemos el trabajo de nadie, creo que eso queda bastante claro viendo hilos. Nunca vas a encontrar un hilo en el que se responda a un user que ni siquiera ha posteado código (es como una regla no escrita entre programadores).
Me llama la atención que no quieras que la gente participe en el foro
. El querer mantenerlo todo controlado al extremo no hace más que desanimar a la gente a no participar, un foro debe ser espontaneo y la gente no debe tener miedo a postear. De esa forma se consiguen aportes buenísimos, como en el post del laberinto (donde se propusieron varias formas para calcular la ruta de un laberinto, ya sea la ruta más corta o una ruta aleatoria cualquiera), o el post de calculo de PI donde debatimos sobre el algoritmo más eficiente (apurando a milésimas de segundo) o el de la calculadora parser. Todo eso es lo que hace que el foro esté vivo y sea divertido.
Y repito que no hemos echo ninguna tarea, solo hemos resuelto la duda en cuestión y después hemos empezado a postear nuestras versiones. La regla esa la hemos cumplido a rajatabla.
@Yoel_Alejandro: Sobre estas líneas de código:
unsigned *cifras = new unsigned[n];
if ( cifras == NULL ) return -1;
A diferencia de malloc, new lanza una excepción cuando no puede allocar memoria.
Si quieres que en vez de una excepción devuelva NULL, debes usar "nothrow":
unsigned *cifras = new(nothrow) unsigned[n];
if ( cifras == NULL ) return -1;