union de deux rectangles.écrire un programme pour trouver le plus petit rectangle possible entourant les 2 rectangles donnés

Étant donné les coordonnées du coin inférieur gauche (x, y), la longueur (l) et la largeur (w) de 2 rectangles, écrivez un programme pour trouver le plus petit rectangle possible entourant les 2 rectangles donnés.

Format d’entrée et de sortie:

La 1ère ligne de l’entrée consiste en 4 entiers séparés par un espace correspondant aux x, y, l et w du premier rectangle.

La deuxième ligne de l’entrée consiste en 4 entiers séparés par un espace qui correspond à x, y, l et w du deuxième rectangle.

La sortie consiste en 4 entiers qui correspondent à x, y, l et w du rectangle Union.

Exemple d’entrée:

3 8 1515

2 6 10 10

Exemple de sortie:

2 6 16 17

Je ne suis pas capable de comprendre la logique … Je ne demande pas le programme complet, je veux juste de l’aide pour la partie logique …

MISE À JOUR: voici mon programme qui fonctionne maintenant … merci à tous pour votre aide 🙂

#include int main() { int x1, x2, y1, y2, l1, l2, w1, w2, xmax, xmin, ymax, ymin; scanf(“%d %d %d %d\n”,&x1,&y1,&l1,&w1); scanf(“%d %d %d %d\n”,&x2,&y2,&l2,&w2); xmin = x1 < x2 ? x1 : x2; ymin = y1  c ? b : c; int d = y1 + w1; int e = y2 + w2; ymax = d > e ? d : e; int l = xmax - xmin; int w = ymax - ymin; printf(“%d %d %d %d”,xmin,ymin,l,w); return 0; } 

ne peut pas comprendre le problème dans mon programme .. 🙁

En supposant des longueurs et des largeurs positives:

  1. Trouver le plus bas xmin : minimum de x1 et x2 . Pareil pour ymin . Maintenant, le coin du rectangle de sortie est connu.

  2. Trouver la plus grande xmax : maximum de x1 + l1 et x2 + l1 . Idem pour ymax avec les valeurs y et les largeurs.

  3. Déterminez les dimensions du rectangle de sortie: length : différence entre xmax et xmin . Identique pour la width et ymax, ymin .

C’est aussi simple que ça.

Étant donné l’emplacement du coin inférieur gauche, la longueur et la largeur, vous pouvez déterminer les trois autres points. Faites ceci pour les deux rectangles. Par exemple, étant donné x1 , y1 , l1 , w1 , p1 = (x1,y1) , p2 = (x1,y1+l1) , p3 = (x1+w1,y1) , p4 = (x1+w1,y1+l1) .

Maintenant, regardez vos huit points et trouvez le plus petit X (minX) et le plus petit Y (minY), ainsi que le plus grand X (maxX) et le plus grand Y (maxY). Notez qu’aucune de ces valeurs ne vient nécessairement du même point.

Vos résultats sont maintenant minX , minX , maxY - minY maxX - minX et maxX - minX .

Pas:

  1. calculer le coin supérieur droit de deux rectangles
  2. Vous devez sortinger les coordonnées du x et les coordonnées du y.
  3. Le plus petit rectangle entourant les 2 rectangles donnés a:

    • coin inférieur gauche: (x1,y1)
    • coin supérieur droit: (x4,y4)
  4. calculer la taille.

Voir l’image:

entrez la description de l'image ici

1) Trouver Xmin = minimum de X1 et X2.

2) Trouver Ymin = minimum de Y1 et Y2.

3) Trouver Xmax = maximum de (X1 + L1) et (X2 + L2)

4) Trouver Ymax = maximum de (Y1 + W1) et (Y2 + w2)

5) Trouver longueur = différence entre Xmax et Xmin

6) Trouver largeur = différence entre Ymax et Ymin

7) Le résultat final est (Xmin, Ymin, Longueur, Largeur)