
#include < stdio.h>
#include < conio.h>
#include < stdlib.h>
#include < string.h>
#include < math.h>
int LeerDato(char Mensaje[])
{
int Num;
printf("%s",Mensaje);
scanf("%d",&Num);
fflush(stdin);
return Num;
}
int LeerRpta(char Mensaje[])
{
char cadena[1001];
printf("%s",Mensaje);
gets(cadena);
if(strcmp(cadena,"Continuar")==0)
{
return 1;
}
else
return 0;
}
void Codigo(int &i,int &Num, int &a,int &b,int &c,int &d,int &e,int &f)
{
int Cont,Cont1=0;
for(i=0; i< log10(Num)+1;i++)
{
Cont=pow(10,i+1);
Cont1=(Num%Cont)-Cont1;
if (i==0)
a=a+(Cont1/pow(10,i));
if (i==1)
b=b+(Cont1/pow(10,i));
if (i==2)
c=c+(Cont1/pow(10,i));
if (i==3)
d=d+(Cont1/pow(10,i));
if (i==4)
e=e+(Cont1/pow(10,i));
if (i==5)
f=f+(Cont1/pow(10,i));
}
}
int Contador(int i,int &Num, int a, int b, int c, int d, int e, int f)
{
int Cont;
Codigo(i,Num,a,b,c,d,e,f);
Cont=i;
return Cont;
}
void evaluar(int i,int &Num, int a, int b, int c, int d, int e, int f)
{
int may=0;
Codigo(i,Num,a,b,c,d,e,f);
if(a>=b && a>=c && a>=d && a>=e && a>=f)
may=may+a;
if(b>a && b>=c && b>=d && b>=e && b>=f)
may=may+b;
if(c>a && c>b && c>=d && c>=e && c>=f)
may=may+c;
if(d>a && d>b && d>c && d>=e && d>=f)
may=may+d;
if(e>a && e>b && e>c && e>d && e>=f)
may=may+e;
if(f>a && f>b && f>c && f>d && f>e)
may=may+f;
printf("\n\nEl mayor codigo del numero %d es: %d ",Num,may);
}
int Menor1(int i,int &Num,int a, int b, int c, int d, int e, int f)
{
Codigo(i,Num,a,b,c,d,e,f);
int men;
men=a;
return men;
}
int Menor2(int i,int &Num,int a, int b, int c, int d, int e, int f)
{
Codigo(i,Num,a,b,c,d,e,f);
int men;
if(a< =b)
men=a;
else
men=b;
return men;
}
int Menor3(int i,int &Num,int a, int b, int c, int d, int e, int f)
{
Codigo(i,Num,a,b,c,d,e,f);
int men;
if(a<=b && a<=c)
men=a;
if(b< a && b<=c)
men=b;
if(c< a && c< b)
men=c;
return men;
}
int Menor4(int i,int &Num,int a, int b, int c, int d, int e, int f)
{
Codigo(i,Num,a,b,c,d,e,f);
int men;
if(a< =b && a<=c && a<=d)
men=a;
if(b< a && b<=c && b<=d)
men=b;
if(c< a && c< b && c<=d)
men=c;
if(d< a && d< b && d< c)
men=d;
return men;
}
int Menor5(int i,int &Num,int a, int b, int c, int d, int e, int f)
{
Codigo(i,Num,a,b,c,d,e,f);
int men;
if(a<=b && a<=c && a<=d && a<=e)
men=a;
if(b< a && b<=c && b<=d && b<=e)
men=b;
if(c< a && c< b && c<=d && c<=e)
men=c;
if(d< a && d< b && d< c && d<=e)
men=d;
if(e< a && e< b && e< c && e< d)
men=e;
return men;
}
int Menor6(int i,int &Num,int a, int b, int c, int d, int e, int f)
{
Codigo(i,Num,a,b,c,d,e,f);
int men;
if(a<=b && a<=c && a<=d && a<=e && a<=f)
men=a;
if(b< a && b<=c && b<=d && b<=e && b<=f)
men=b;
if(c< a && c< b && c<=d && c<=e && c<=f)
men=c;
if(d< a && d< b && d< c && d<=e && d<=f)
men=d;
if(e< a && e< b && e< c && e< d && e<=f)
men=e;
if(f< a && f< b && f< c && f< d && f< e)
men=f;
return men;
}
void evaluar2(int Men,int i,int &Num,int a, int b, int c, int d, int e, int f)
{
int Cont1;
Cont1=Contador(i,Num,a,b,c,d,e,f);
if (Num==1)
{
printf("\n\nEl menor codigo del numero %d es: %d ",Num,Num);
}
if(Cont1==2)
{
Men=Menor1(i,Num,a,b,c,d,e,f);
printf("\n\nEl menor codigo del numero %d es: %d ",Num,Men);
}
if(Cont1==3)
{
Men=Menor2(i,Num,a,b,c,d,e,f);
printf("\n\nEl menor codigo del numero %d es: %d ",Num,Men);
}
if(Cont1==4)
{
Men=Menor3(i,Num,a,b,c,d,e,f);
printf("\n\nEl menor codigo del numero %d es: %d ",Num,Men);
}
if(Cont1==5)
{
Men=Menor4(i,Num,a,b,c,d,e,f);
printf("\n\nEl menor codigo del numero %d es: %d ",Num,Men);
}
if(Cont1==6)
{
Men=Menor5(i,Num,a,b,c,d,e,f);
printf("\n\nEl menor codigo del numero %d es: %d ",Num,Men);
}
if(Cont1==7)
{
Men=Menor6(i,Num,a,b,c,d,e,f);
printf("\n\nEl menor codigo del numero %d es: %d ",Num,Men);
}
}
void main()
{
printf (" \n Mayor y menor de codigos. \n");
printf ("Pulse enter para iniciar\n");
getch ();
clrscr( );
int Men=0,i=0,Num,a=0,b=0,c=0,d=0,e=0,f=0;
int Rpta;
do
{
clrscr();
do
{
Num=LeerDato("Ingrese Numero: Rango < 0-1000000>");
}while(Num< 0 || Num>=1000000);
evaluar(i,Num,a,b,c,d,e,f);
evaluar2(Men,i,Num,a,b,c,d,e,f);
Rpta=LeerRpta("\nDesea Continuar- (Continuar)- (Salir)");
}while(Rpta==1);
getch();
}