You are on page 1of 1

FONAMENTS D’INFORMÀTICA 2023-2024 Q1

TASCA 8
Autor: Lluís Alemany Puig

Entregueu només el fitxer amb codi C++ (extensió .cpp) i els fitxers extres que es demana que el vostre programa
produeixi, si s'escau.

intervals.cpp
Feu un programa que calculi la intersecció de dos intervals [a,b] i [c,d]. Si la intersecció és buida,
cal que la sortida sigui «buit». Si no ho és, la sortida haurà de tenir el següent format
[e,f]
on e i f són els límits de l’interval que és intersecció de [a,b] i [c,d]. L’entrada del programa són 4
nombres, a, b, c i d. Els dos primers (a i b) formen el primer interval. Els dos últims (c i d), el segon
interval. Com que les dades venen d’una font dubtosa, no podeu assumir que es compleixin les
següents relacions de precedència
a <= b c <= d
Tampoc podeu assumir que el primer interval estigui «a l’esquerra» del segon. Per a comprovar
que el vostre programa és correcte, podeu fer servir el fitxer «intervals_in.txt».
Exemples
ENTRADA SORTIDA ENTRADA SORTIDA
1323 [2, 3] 6556 [5, 6]
1324 [2, 3] 4.5 5.5 4 5 [4.5, 5]
2 10 1 5 [2, 5] 1234 buit
9 10 1 2 buit 1 10 3 4 [3, 4]
1222 [2, 2]

Pista: Si us hi fixeu bé, veureu que hi haurà moltes simetries a l’hora de considerar tots els casos.
Per a solucionar aquest problema amb un mínim d’elegància (potser fins i tot, dignitat), caldrà
que reduïu els casos eliminant aquests simetries. És feina vostra esbrinar com.

You might also like