SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: arcanis en Domingo 16 de Noviembre de 2008, 12:07
-
Ola buenas, estoy diseñanado un programa en c++ y no puedo conseguir k se haga lo que se me pide de ninguna manera.En el ejercicio se me pide sacar por pantalla n numeros cuyas cifras sean correlativas:
Ejemplo:
usuario introduce 16
En pantalla saldria: 1 2 3 4 5 6 7 8 9 12 23 34 45 56 67
Por favor,necesito ayuda ya no se k intentar.En el ejercicio se tienen k utilizar bucles del while o for y condicionales pero no consigo sacarlo
Gracias.
:good: :good:
-
Bueno, pon lo que tengas hecho hasta el momento y vemos. Un saludo.
-
Aqui va lo que tengo:
#include<stdio.h>
#include<conio.h>
#include<string.h>
int
main(void){
int n,nnum,actual,correlativo,l,i,p1;
char c[250];
printf("Introduzca numero:");
scanf("%d",&n);
printf("Los %d numeros correlativos son son:",n);
actual=0;
nnum=0;
while(nnum<n){
sprintf(c,"%d",actual);
l=strlen(c);
correlativo=1;
for(i=0;i<l;i++){
if(c-c[i+1]==-1){
correlativo=0;
} }
if(correlativo==1){
printf("%dt",actual);
nnum++;
}
actual=actual+1;
}
getche();
return(0);
}
Lo que heco por ahora lo unico k me saca es todos los numeros cuyas sifras no son correlativas,que es justo lo contrario a lo que se me pide en el ejercicio :oops: ,y el problema es k a partir del numero 10 ya no me hace ni eso :lol:.
Lo creo k tengo que hacer es separar el numero en sus digitos, para que al hacer el estudio de ""(c-c[i+1]==-1)"" compruebe que es cierto respecto a la cifra siguiente del numero,lo que pasa es que no se como hacerlo.
Haber si teneis alguna idea :huh:
-
Fíjate en el ejemplo que has puesto:
En pantalla saldria: 1 2 3 4 5 6 7 8 9 12 23 34 45 56 67
¿Ves que en los números de más de una cifra, las unidades se convierten en las decenas del número siguiente? Por ejemplo, el 12 da paso al 23, que a su vez da paso a 34 y así sucesivamente.
-
Ola sigo sin entender como lo puedo conseguir,por favor me lo puedes explicar de otra manera o ponerme un ejmplo,gracias de antemano. B)
-
Piénsalo en poco... :hitcomp: