Recomiendo que para escribir menos lineas de codigo, hacer uso del && (and). Por ejemplo: if (num1>num2&&num1>num3) El && nos dice que ambas condiciones son verdaderas, a diferencia del || (or) el cual dice que al menos una condicion es verdadera.
Les comaprto mi codigo, gracias mestro por la clase #include #include int main() { int num1,num2,num3; printf("Digite el primer numero: "); scanf("%i",&num1); printf("Digite el segundo numero: "); scanf("%i",&num2); printf("Digite el tercer numero: "); scanf("%i",&num3); if(num1>num2 && num1>num3 ) { printf("Numero %i es mayor",num1); } else{ if (num2>num1 && num2 > num3) { printf("Numero %i es mayor",num2); } else{ if(num3>num1 && num3 > num2) { printf("Numero %i es mayor",num3); } else{ printf("Los numeros son iguales"); } } } getch(); return 0; }
Hola Diego! Primero que nada quiero agradecerte por este curso, estoy cursando en la facultad y si bien es el primer año, quiero anticiparme a aprender C por gusto y para estar listo para cuando llegue el momento en la facultad. En segundo lugar quería comentarte que lo hice por mi cuenta y lo hice diferente pero igual funciona, te paso el codigo. Hay alguna diferencia de algun tipo o está bien asi? #include #include int main() { int num1, num2, num3; printf("Ingrese el primer numero: "); scanf("%i", &num1); printf("Ingrese el segundo numero: "); scanf("%i", &num2); printf("Ingrese el tercer numero: "); scanf("%i", &num3); if (num1>num2) { printf("%i", num1); printf(" es mayor"); } else { if (num2>num3) { printf("%i", num2); printf(" es mayor"); } else { printf("%i", num3); printf(" es mayor"); } } getch(); return 0; }
Hay un problema en el algoritmo que planteas, por ejemplo si ingresamos los valores: Ingrese primer valor:10 Ingrese segundo valor:5 Ingrese tercer valor:17 Luego muestra: mayor 10 (cuando en realidad el mayor de los tres valores es el 17) No alcanza con dicho if para verificar cual de los tres valores es el mayor: if (num1>num2) { printf("%i", num1); printf(" es mayor"); } Debemos disponer dentro del bloque otra estructura condicional: if (num1>num2) { if (num1>num3) { printf("%i", num1); printf(" es mayor"); } else { printf("%i", num3); printf(" es mayor"); } } etc....
Este puede ser tambien? #include #include int main() { int num1, num2, num3,mayor; printf("Ingrese los tres numeros "); scanf("%d%d%d", &num1,&num2,&num3); if (num1 > num2) { mayor = num1; } else { mayor = num2; } if (mayor > num3) { printf("El numero mayor es %d ",mayor); } else { printf("El numero mayor es %d ",num3); } getch(); return 0; }
Profe Esta Solucion tambien es valida? #include #include int main() {
int num1,num2,num3; printf("Inserte un numero : "); scanf("%i",&num1); printf(" "); printf("Inserte otro numero : "); scanf("%i",&num2); printf(" "); printf("Inserte otro numero : "); scanf("%i",&num3); printf(" "); if (num1>num2&&num1>num3) { printf("El numero mayor es : %i ",num1); } else { if (num2>num1&&num2>num3) { printf("El numero mayor es : %i",num2); } else { printf("El numero mayor es : %i",num3); }
}
getch(); return 0; } Y profe Gracias por todo su contenido No sabe cuanto me ayudas a progresar cada dia,Mil Gracias
buenas noches, hago mi pequño aporte! #include #include int main(){ int n1,n2,n3,mayor; printf("INGRESE 3 NUMEROS DISTINTOS "); printf("Numero 1: "); scanf("%i", &n1); printf("Numero 2: "); scanf("%i", &n2); printf("Numero 3: "); scanf("%i", &n3); mayor = 0; if (n1 > n2){ mayor = n1; if (mayor > n3){ mayor = n1; printf("El mayor es el %i",mayor); } else{ mayor = n3; printf("El mayor es el %i",mayor); } } else { mayor = n2; if (mayor > n3){ mayor = n2; printf("El mayor es el %i",mayor); } else { mayor = n3; printf("El mayor es el %i",mayor); } } getch(); return 0; }
#include int main() { int num1, num2, num3; printf("ingresar el primer numero: "); scanf("%i",&num1); printf("ingresar el segundo numero: "); scanf("%i",&num2); printf("ingresar el tercer numero: "); scanf("%i",&num3); if (num1>num2) { if (num1>num3) { printf("El primer numero es el mayor de todos"); } else { printf("El tercer numero es el mayor de todos"); } } else { if (num2>num3) { printf("El segundo numero es el mayor de todos "); } else { printf("El tercer numero es el mayor de todos "); } } getchar(); return 0; } Es muy similar el programa . cuando hice el diagrama me di cuenta que iba a ser igual al de usted. Gracias profesor , estoy utilizando el ide Codelite en debian .
Muchísimas gracias por la explicación, y el curso esta excelente 😊
Recomiendo que para escribir menos lineas de codigo, hacer uso del && (and). Por ejemplo:
if (num1>num2&&num1>num3)
El && nos dice que ambas condiciones son verdaderas, a diferencia del || (or) el cual dice que al menos una condicion es verdadera.
#include
#include
int main()
{
int num1, num2, num3;
printf("Inserte el 1er valor: ");
scanf("%i",&num1);
printf("Inserte el 2do valor: ");
scanf("%i",&num2);
printf("Inserte el 3er valor: ");
scanf("%i",&num3);
printf("El valor mas alto es: ");
if (num1>num2&&num1>num3)
{
printf ("%i",num1);
}
else
{
if (num2>num1&&num2>num3)
{
printf("%i",num2);
}
else
{
printf("%i", num3);
}
}
getch();
return 0;
}
Les comaprto mi codigo, gracias mestro por la clase
#include
#include
int main()
{
int num1,num2,num3;
printf("Digite el primer numero: ");
scanf("%i",&num1);
printf("Digite el segundo numero: ");
scanf("%i",&num2);
printf("Digite el tercer numero: ");
scanf("%i",&num3);
if(num1>num2 && num1>num3 )
{
printf("Numero %i es mayor",num1);
}
else{
if (num2>num1 && num2 > num3)
{
printf("Numero %i es mayor",num2);
}
else{
if(num3>num1 && num3 > num2)
{
printf("Numero %i es mayor",num3);
}
else{
printf("Los numeros son iguales");
}
}
}
getch();
return 0;
}
Hola Diego! Primero que nada quiero agradecerte por este curso, estoy cursando en la facultad y si bien es el primer año, quiero anticiparme a aprender C por gusto y para estar listo para cuando llegue el momento en la facultad.
En segundo lugar quería comentarte que lo hice por mi cuenta y lo hice diferente pero igual funciona, te paso el codigo. Hay alguna diferencia de algun tipo o está bien asi?
#include
#include
int main()
{
int num1, num2, num3;
printf("Ingrese el primer numero: ");
scanf("%i", &num1);
printf("Ingrese el segundo numero: ");
scanf("%i", &num2);
printf("Ingrese el tercer numero: ");
scanf("%i", &num3);
if (num1>num2)
{
printf("%i", num1);
printf(" es mayor");
}
else
{
if (num2>num3)
{
printf("%i", num2);
printf(" es mayor");
}
else
{
printf("%i", num3);
printf(" es mayor");
}
}
getch();
return 0;
}
Hay un problema en el algoritmo que planteas,
por ejemplo si ingresamos los valores:
Ingrese primer valor:10
Ingrese segundo valor:5
Ingrese tercer valor:17
Luego muestra: mayor 10 (cuando en realidad el mayor de los tres valores es el 17)
No alcanza con dicho if para verificar cual de los tres valores es el mayor:
if (num1>num2)
{
printf("%i", num1);
printf(" es mayor");
}
Debemos disponer dentro del bloque otra estructura condicional:
if (num1>num2)
{
if (num1>num3)
{
printf("%i", num1);
printf(" es mayor");
}
else
{
printf("%i", num3);
printf(" es mayor");
}
}
etc....
@@diegomoissetdeespanes gracias diego
Este puede ser tambien?
#include
#include
int main()
{
int num1, num2, num3,mayor;
printf("Ingrese los tres numeros
");
scanf("%d%d%d", &num1,&num2,&num3);
if (num1 > num2)
{
mayor = num1;
}
else
{
mayor = num2;
}
if (mayor > num3)
{
printf("El numero mayor es %d
",mayor);
}
else
{
printf("El numero mayor es %d
",num3);
}
getch();
return 0;
}
Perfecto, es otra alternativa para obtener el mayor de 3 valores.
Otra duda, porque en las condicionales no puso &?
Porque los operadores lógicos (&& y ||) se estudia más adelante en el curso.
Profe Esta Solucion tambien es valida?
#include
#include
int main()
{
int num1,num2,num3;
printf("Inserte un numero : ");
scanf("%i",&num1);
printf("
");
printf("Inserte otro numero : ");
scanf("%i",&num2);
printf("
");
printf("Inserte otro numero : ");
scanf("%i",&num3);
printf("
");
if (num1>num2&&num1>num3)
{
printf("El numero mayor es : %i ",num1);
}
else
{
if (num2>num1&&num2>num3)
{
printf("El numero mayor es : %i",num2);
}
else
{
printf("El numero mayor es : %i",num3);
}
}
getch();
return 0;
}
Y profe Gracias por todo su contenido No sabe cuanto me ayudas a progresar cada dia,Mil Gracias
Es correcto este otro algoritmo.
Saludos.
Me costó este, creo que voy a abandonar 😅
buenas noches, hago mi pequño aporte!
#include
#include
int main(){
int n1,n2,n3,mayor;
printf("INGRESE 3 NUMEROS DISTINTOS
");
printf("Numero 1: ");
scanf("%i", &n1);
printf("Numero 2: ");
scanf("%i", &n2);
printf("Numero 3: ");
scanf("%i", &n3);
mayor = 0;
if (n1 > n2){
mayor = n1;
if (mayor > n3){
mayor = n1;
printf("El mayor es el %i",mayor);
} else{
mayor = n3;
printf("El mayor es el %i",mayor);
}
} else {
mayor = n2;
if (mayor > n3){
mayor = n2;
printf("El mayor es el %i",mayor);
} else {
mayor = n3;
printf("El mayor es el %i",mayor);
}
}
getch();
return 0;
}
#include
int main()
{
int num1, num2, num3;
printf("ingresar el primer numero:
");
scanf("%i",&num1);
printf("ingresar el segundo numero:
");
scanf("%i",&num2);
printf("ingresar el tercer numero:
");
scanf("%i",&num3);
if (num1>num2)
{
if (num1>num3)
{
printf("El primer numero es el mayor de todos");
}
else
{
printf("El tercer numero es el mayor de todos");
}
}
else
{
if (num2>num3)
{
printf("El segundo numero es el mayor de todos
");
}
else
{
printf("El tercer numero es el mayor de todos
");
}
}
getchar();
return 0;
}
Es muy similar el programa . cuando hice el diagrama me di cuenta que iba a ser igual al de usted. Gracias profesor , estoy utilizando el ide Codelite en debian .