首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个rectangles.write的并集一个程序,用来找到包含两个给定矩形的最小矩形

两个rectangles.write的并集一个程序,用来找到包含两个给定矩形的最小矩形
EN

Stack Overflow用户
提问于 2015-07-15 23:26:23
回答 4查看 9.1K关注 0票数 0

给定左下角的坐标(x,y),两个矩形的长度(l)和宽度(W),编写一个程序来找到包含这两个给定矩形的最小矩形。

输入和输出格式:

输入的第一行由4个整数组成,由对应于第一个矩形的x、y、l和w的空格分隔。

输入的第二行由4个整数组成,由对应于第二个矩形的x、y、l和w的空格分隔。

输出由4个整数组成,它们对应于联合矩形的x、y、l和w。

示例输入:

3 8 1515

2 6 10 10

示例输出:

2 6 16 17

我不能弄清楚逻辑…我不是要求整个程序,只是想在逻辑部分帮助…

更新:这是我的程序,现在是working...thank u all,以求您的帮助:)

代码语言:javascript
复制
#include<stdio.h>
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 < y2 ? y1 : y2;
  int b = x1 + l1;
  int c = x2 + l2;
  xmax = b > 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;
}

在我的程序中找不到问题..:(

EN

回答 4

Stack Overflow用户

发布于 2015-07-15 23:30:41

给定左下角的位置、长度和宽度,您可以确定其他三个点。对两个矩形执行此操作。例如,给定x1y1l1w1p1 = (x1,y1)p2 = (x1,y1+l1)p3 = (x1+w1,y1)p4 = (x1+w1,y1+l1)

现在查看您拥有的8个点,并找到其中最小的X (minX)和最小的Y (minY),以及最大的X (maxX)和最大的Y (maxY)。请注意,这些值都不一定来自同一个点。

您的结果现在是minXminYmaxY - minYmaxX - minX

票数 2
EN

Stack Overflow用户

发布于 2015-07-16 01:00:04

假设长度和宽度为正:

  1. Find and xminx1x2的最小值。ymin也是如此。现在输出矩形角点已知。
  2. 查找最高xmaxx1 + l1x2 + l1的最大值。使用y值和宽度的ymax也是如此。
  3. 确定输出矩形尺寸:lengthxmaxxmin的差异。对于widthymax, ymin.

也是如此

就是这么简单。

票数 2
EN

Stack Overflow用户

发布于 2017-05-29 17:02:45

1)找到Xmin = X1和X2的最小值。

2)找到Ymin = Y1和Y2的最小值。

3)找到Xmax = (X1+L1)和(X2+L2)中的最大值

4)找到Ymax = (Y1+W1)和(Y2+w2)中的最大值

5)查找长度= Xmax和Xmin之间的差异

6)查找宽度= Ymax和Ymin之间的差异

7)最终结果为(Xmin,Ymin,Length,Width)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31434628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档