Hallar el numero mayor y menor de un rango permitido

lunes, 10 de febrero de 2014


#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();
}

Copyright @ 2013 AnguelSC. Designed by Templateism | MyBloggerLab