Empezando en C/C++ primera duda

Iniciado por devKL, 11 Noviembre 2011, 02:37 AM

0 Miembros y 2 Visitantes están viendo este tema.

devKL

Buenas noches, (desde España) hace un par de días exactos empeze con el mundo de la programacíon (soy joven, 16 años) y en este foro lei que recomendaban empezar con el libro "Como programar en C/C++, Deitel and Deitel ed. 2" y empeze pero en una de las actividades del tema 2 en el uso de if, hay algo que no me sale. Comparar 3 int (tampoco lo explica). Esto es lo que programe;

#include <stdio.h>
int main()
{
    int a, b, c;
   
    printf ("Introduzca tres numeros enteros: ");
    scanf ("%d%d%d", &a, &b, &c);
    printf ("La suma es: %d\n", a + b + c);
    printf ("El promedio es: %d\n", (a + b + c) / 3);
    printf ("El producto es: %d\n", a * b * c);
   
    if ("a < b")
    if ("b > c")
       printf ("El mayor es %d\n", b);
       
    if ("a > b")
    if ("c < a")
       printf ("El mayor es %d\n", a);
       
    if ("c > a")
    if ("c > b")
       printf ("El mayor es %d\n", c);
       
    return 0;
}

¿Como lo pondríais ustedes? Gracias.

rir3760

El error es que estas colocando las condiciones entre comillas, por ejemplo:
if ("a < b")
    if ("b > c")
       printf ("El mayor es %d\n", b);

Basta con quitarlas todas (las comillas dobles) para que funcione correctamente, el primer "if" debe ser:
if (a < b)
    if (b > c)
       printf ("El mayor es %d\n", b);


Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

devKL

Gracias, no me había fijado, valla error más tonto.
otra pregunta, como lo expondría tu para que el programa diera:
El mayor numero es:
El menor numero es:

Con las menos líneas posibles.

ChicoMaravilla

aquí hice uno yop :)

#include <stdio.h>

float uno, dos, tres;
main()
{
      /*pide el numero*/
      printf("3 numeros: \n \n");
      printf("Numero 1: \n");
      scanf("%f", &uno);
      printf("Numero 2: \n");
      scanf("%f", &dos);
      printf("Numero 3: \n");
      scanf("%f", &tres);
     
      /* hace la magia */
      if (uno > dos && uno > tres)
         printf("%f es el mayor \n", uno);
      if (dos > uno && dos > tres)
         printf("%f es el mayor \n", dos);
      if (tres > uno && tres > dos)
         printf("%f es el mayor \n", tres);
      if (uno < dos && uno < tres)
         printf("%f es el menor \n", uno);
      if (dos < uno && dos < tres)
         printf("%f es el menor \n", dos);
      if (tres < uno && tres < dos)
         printf("%f es el menor \n", tres);
         
      scanf("%d");
      return 0;
     
}

     

a lo mejor tiene sus errores de sintaxis , pero funcionar funciona  :laugh:
     

criskapunk

Te referís a algo como esto?

printf("El mayor numero es: %d\nEl menor numero es: %d", a, b);

ChicoMaravilla

Cita de: R0LFback en 11 Noviembre 2011, 03:28 AM
Te referís a algo como esto?

printf("El mayor numero es: %d\nEl menor numero es: %d", a, b);

:xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD es verdad ajjaj

PD: io lo hice a la manera indio, pero supongo que debe haber alguna función estilo max o min en C

devKL

exacto me refiero a eso pero en vez de con dos variables, con 3. Aumenta las opciones, y como bien dice el amigo Chico_Maravilla, como no alla una opcion de max y min la unica manera logica es la expuesta poe el. Yo la pense ya pero me parecierón demasiadas lineas.

RyogiShiki

#7
--Lo siento He dado publicar envés de Previsualizar--


if (a > b) {
if (b > c) {
printf("\n El numero mayor es %d", a);
printf("\n El numero menor es %d", c);
} else {
if (a > c) {
printf("\n El numero mayor es %d", a);
printf("\n El numero menor es %d", b);
} else {
printf("\n El numero mayor es %d", c);
printf("\n El numero menor es %d", b);
}
}
} else {
if (a > c) {
printf("\n El numero mayor es %d", b);
printf("\n El numero menor es %d", c);
} else {
if (b > c) {
printf("\n El numero mayor es %d", b);
printf("\n El numero menor es %d", a);
} else {
printf("\n El numero mayor es %d", c);
printf("\n El numero menor es %d", a);
}
}
}



devKL

#8
#include <stdio.h>
int main()
{
     int uno, dos, tres;
     
     printf("3 numeros diferentes:\n\n");
     printf("Numero 1: ");
     scanf("%d", &uno);
     printf("Numero 2: ");
     scanf("%d", &dos);
     printf("Numero 3: ");
     scanf("%d", &tres);
     
     printf ("La suma es %d\n", uno + dos + tres);
     printf ("El promedio es %d\n", (uno + dos + tres) / 3);
     printf ("El producto es %d\n", (uno * dos * tres));

     if (uno > dos && uno > tres)
        printf ("%d es el mayor \n", uno);
     
     if (dos > uno && dos > tres)
        printf ("%d es el mayor \n", dos);
     
     if (tres > uno && tres > dos)
        printf ("%d es el mayor \n", tres);
     
     if (uno < dos && uno < tres)
        printf ("%d es el menor \n", uno);
     
     if (dos < uno && dos < tres)
        printf ("%d es el menor \n", dos);
     
     if (tres < uno && tres < dos)
        printf ("%d es el menor \n", tres);

     scanf("%d");
     return 0;
}

Al final programe esto. Gracias por ayudarme con la duda