martes, 3 de agosto de 2010

Dados 4 números, comprobar cual combinación de operaciones entre ellos que se acerca más al 5to Número

Quizas es un codigo muy largo, con ciertas cosas innecesarias que pueden reducirse.

Funciona asi:
Por ejemplo, ingresamos los siguientes números:
1
1
1
1

y el Quinto es -1. Entonces, el resultado sería:
1+1+1+1=4
1-1-1-1=-2
1-1+1-1=0
1+1-1+1=2
1-1-1+1=0
1+1+1-1=2
1-1+1+1=2
1+1-1-1=0

La diferencia es 1 en la operación 2
La diferencia es 1 en la operación 3
La diferencia es 1 en la operación 5
La diferencia es 1 en la operación 8

Se los dejo si les es util:


#include
#include

main ()

{

int a,b,c,d,num,f,e,g;

int a1,a2,a3,a4,a5,a6,a7,a8;

int dif[8];

clrscr();

printf("Ingresa numero 1:");

scanf("%d",&a);

printf("\nIngresa numero 2:");

scanf("%d",&b);

printf("\nIngresa numero 3:");

scanf("%d",&c);

printf("\nIngresa numero 4:");

scanf("%d",&d);

printf("\nIngresa otro numero:");

scanf("%d",&num);



a1=a+b+c+d;
a2=a-b-c-d;
a3=a-b+c-d;
a4=a+b-c+d;
a5=a-b-c+d;
a6=a+b+c-d;
a7=a-b+c+d;
a8=a+b-c-d;

printf("\n %d + %d + %d + %d = %d", a,b,c,d,a1);

printf("\n %d - %d - %d - %d = %d", a,b,c,d,a2);

printf("\n %d - %d + %d - %d = %d", a,b,c,d,a3);

printf("\n %d + %d - %d + %d = %d", a,b,c,d,a4);

printf("\n %d - %d - %d + %d = %d", a,b,c,d,a5);

printf("\n %d + %d + %d - %d = %d", a,b,c,d,a6);

printf("\n %d - %d + %d + %d = %d", a,b,c,d,a7);

printf("\n %d + %d - %d - %d = %d", a,b,c,d,a8);


dif[0]=a1-num;

if (dif[0]<0)

dif[0]=dif[0]*(-1);



dif[1]=a2-num;

if (dif[1]<0)

dif[1]=dif[1]*(-1);


dif[2]=a3-num;

if (dif[2]<0)

dif[2]=dif[2]*(-1);



dif[3]=a4-num;

if (dif[3]<0)

dif[3]=dif[3]*(-1);



dif[4]=a5-num;

if (dif[4]<0)

dif[4]=dif[4]*(-1);



dif[5]=a6-num;

if (dif[5]<0)

dif[5]=dif[5]*(-1);



dif[6]=a7-num;

if (dif[6]<0)

dif[6]=dif[6]*(-1);



dif[7]=a8-num;

if (dif[7]<0)

dif[7]=dif[7]*(-1);



for (f=0;f<=7;f++)

{

g=0;

for (e=0;e<=7;e++)

{

if (dif[f]>dif[e])

g++;

}

if (g==0)

printf("\nLa diferencia es %d en la operacion %d",dif[f],f+1);

}



getch();

}

0 comentarios:

Publicar un comentario