М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

4.19.*Даны два прямоугольника, стороны которых параллельны или перпендикуляр- ны осям координат. Известны координаты левого нижнего угла каждого из них

и длины их сторон. Найти координаты левого нижнего и правого верхнего уг-
лов минимального прямоугольника, содержащего указанные прямоугольники.

С++​

👇
Ответ:
progonskaij
progonskaij
07.03.2022

Пример искомого минимального прямоугольника приведен на рисунке. Для левого нижнего угла координаты совпадают с минимальными координатами левых нижних углов прямоугольников, для правого верхнего - с максимальными.

Код (С++):

#include <iostream>

int main() {

   int x1, y1, w1, h1, x2, y2, w2, h2;

   std::cin >> x1 >> y1 >> w1 >> h1;

   std::cin >> x2 >> y2 >> w2 >> h2;

   // Lower-left corner

   if (x1 < x2) {

       std::cout << x1 << " ";

   } else {

       std::cout << x2 << " ";

   }

   if (y1 < y2) {

       std::cout << y1 << "\n";

   } else {

       std::cout << y2 << "\n";

   }

   // Upper-right corner

   x1 += w1; y1 += h1;

   x2 += w2; y2 += h2;

   if (x1 > x2) {

       std::cout << x1 << " ";

   } else {

       std::cout << x2 << " ";

   }

   if (y1 > y2) {

       std::cout << y1 << "\n";

   } else {

       std::cout << y2 << "\n";

   }

}

Пример ввода:

1 2 3 4

0 3 6 1

Пример вывода:

0 2

6 6

Пояснение к формату ввода-вывода:

- На вход подаются две строки из 4 целых чисел: x, y - координат и ширины и высоты (изменения по x и y) для каждого прямоугольника

- Вывод - координаты левого нижнего и правого верхнего углов


4.19.*Даны два прямоугольника, стороны которых параллельны или перпендикуляр- ны осям координат. Изв
4,7(80 оценок)
Открыть все ответы
Ответ:
ycnakouc7oy2xua
ycnakouc7oy2xua
07.03.2022
Const n=10;
type ar=array[1..n] of integer;
procedure p1(var x:ar);
var i:integer;
begin
for i:=1 to n do x[i]:=random(51); 
end;

procedure p2(h:char;var x:ar);
var i:integer;
begin
writeln('---',h,'---');
for i:=1 to n do write(x[i]:4);
writeln; 
end;

procedure p3(var x:ar; var min,imin:integer);
var i:integer;
begin
min:=x[1]; imin:=1;
for i:=2 to n do
 if x[i]<min then begin min:=x[i]; imin:=i; end;
end;

var a,b : ar; 
  m1,m2,im1,im2: integer;
begin
Randomize; 
p1(a); p2('a',a);
p3(a,m1,im1);
writeln('m1=',m1,' im1=',im1);
p1(b); p2('b',b);
p3(b,m2,im2);
writeln('m2=',m2,' im2=',im2);
if im2<n 
 then begin b[im2+1]:=m1; p2('b',b); end
 else writeln('Минимальный элемент последний');
end.

Пример:
---a---
  13  11   4  48  36  25   9  47  40   8
m1=4 im1=3
---b---
  45  13  48  18  41  17   5  43   9  21
m2=5 im2=7
---b---
  45  13  48  18  41  17   5   4   9  21
4,7(70 оценок)
Ответ:
doc9w
doc9w
07.03.2022
Const n=10;
var 
  a,b:array [1..n] of integer;
  i,min1,min2,k:integer;
begin
  randomize;
  For i:=1 to n do begin
    a[i]:=random(10);    
    b[i]:=random(10);
  end;
  writeln (a);
  writeln (b);
  writeln;
  min1:=1000;
  min2:=1000;
  For i:=1 to n do begin
    if a[i]<min1 then min1:=a[i];
    if b[i]<min2 then begin min2:=b[i]; k:=i end;
  end;
  if k<n 
    then begin 
      b[k+1]:=min1; 
      writeln (a);
      writeln (b);
    end
    else writeln ('Минимальным является последний элемент');  
end.

Примеры:
1)
[4,5,2,2,7,3,8,6,8,6]
[5,5,2,2,3,7,9,9,4,1]

Минимальным является последний элемент

2)
[0,1,7,3,1,1,0,1,6,1]
[8,3,8,0,7,2,1,4,0,9]

[0,1,7,3,1,1,0,1,6,1]
[8,3,8,0,0,2,1,4,0,9]


PS: Менять N можно в описании константы
4,5(88 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ