Solución a la Tarea 2: Rectángulos dentro de rectángulos

Una forma simple de resolver la tarea era simplemente verificando una por una cual de las cinco posibilidades ocurría. El orden de la verificación es importante, puesto que a veces de eso depende si decimos que el primer rectángulo cabe dentro del segundo o viceversa. Por supuesto, el programa que muestro abajo no es el más corto posible, pero debiera ser fácil de entender.

#include <stdio.h>

int main(void)
{
  int s, g;
  long a, b, c, d;
 
  scanf("%ld%ld%ld%ld", &a, &b, &c, &d);
  if ((a <= c) && (b <= d)) {
    s = 1;
    g = 0;
  } else if ((a >= c) && (b >= d)) {
    s = 2;
    g = 0;
  } else if ((a <= d) && (b <= c)) {
    s = 1;
    g = 1;
  } else if ((a >= d) && (b >= c)) {
    s = 2;
    g = 1;
  } else
    s = g = 0;
  printf("%d %d\n", s, g);
  return 0;
}

Los valores de entrada y salida empleados para la evaluación fueron los siguientes:

Entrada     Salida
1 5 3 7     1 0
1 5 7 3     1 1
7 3 1 5     2 1
7 3 5 1     2 0
1 7 3 5     0 0
4 2 4 6     1 0
2 3 1 3     2 0
2 4 4 6     1 0
2 3 3 1     2 1
2 2 2 2     1 0

Para probar su tarea en UNIX, escriban la instrucción gcc giraloNN.c -o giralo para compilar su programa, y la instrucción ./giralo para correrlo. Algunos errores comúnes fueron: (a) Hacer las verificaciones en algún orden equivocado. (b) No considerar que si los dos rectángulos son iguales entonces uno cabe dentro del otro. (c) Similarmente, no considerar que si un lado de cada rectángulo era igual, entonces uno debía caber dentro del otro. Además, les recuerdo que sólo deben enviar el archivo .c y que éste debe tener el nombre correcto.