Programación Estructurada
Trimestre 2014 Otoño --- Examen 3

Fecha de entrega: 12 de octubre de 2014 a las 22:00 hrs

Tipo de triángulo

Tres números enteros a, b y c son las longitudes de los lados de un triángulo si son positivos y además satisfacen las tres desigualdades del triángulo: a + b > c, b + c > a y c + a > b. Además, hay tres tipos de triángulos: equiláteros, isósceles y escalenos (en realidad hay otros tipos de triángulos, como los triángulos rectángulos, pero en esta tarea sólo nos concentraremos en estos tres tipos). Dados tres números enteros a, b y c, se desea saber si ellos son las longitudes de los lados de un triángulo. Si lo son, se desea saber de que tipo es el triángulo. Si no lo son, se desea calcular el mínimo número entero d tal que a + d, b + d y c + d son las longitudes de los lados de un triángulo. Por ejemplo, si a = 3, b = 4 y c = 5 entonces estamos hablando de un triángulo escaleno, pero si a = 3, b = 1 y c = 2 entonces no tenemos un triángulo y necesitamos d = 1.

Especificación

La entrada consiste de tres números enteros a, b, y c que tendrán valores entre -1,000,000,000 y 1,000,000,000 cada uno. La salida consiste de dos números enteros t y d en ese orden y separados por un espacio. El valor de t será 0 si no es triángulo, 1 si es equilátero, 2 si es isósceles y 3 si es escaleno. El valor de d será 0 a menos que t = 0. El nombre de su programa deberá ser tipotrNN.c, donde NN es el número de lista que les fue asignado. Los archivos tipotrNN.o y tipotrNN.exe no deben ser entregados. Notas: (a) Su programa no deberá leer ni escribir nada además de los datos mencionados anteriormente. (b) Su programa no deberá usar nada que no hayamos visto en clase. (c) Para compilar su programa en UNIX usen la instrucción gcc tipotrNN.c -o tipotr y para probarlo usen la instrucción ./tipotr y tecleen la entrada deseada seguida de un enter.

Ejemplos

ENTRADA: 3 4 5     ENTRADA: 3 1 2
SALIDA:  3 0       SALIDA:  0 1