В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
liliya15nafikova
liliya15nafikova
20.09.2022 07:07 •  Информатика

Укажите поле, к которому желательно применить пользовательский формат


Укажите поле, к которому желательно применить пользовательский формат

Показать ответ
Ответ:
никто271
никто271
10.08.2020 03:24
int a = 0, b = 0, c = 0, d = 0;

do {
cout << "Введите размеры стола a>b: " << endl;
cin >> a >> b;
} while (b > 0 && a > b);

do {
cout << "Введите размеры прямоугольника c>d: " << endl;
cin >> c >> d;
} while (c > 0 && c > d);

int n1 = (a / c) * (b / d);
int n2 = (a / d) * (b / c);
cout << "Длинной вдоль длинной= " << n1 << " длинной вдоль короткой=
" << n2 << endl;
if (n1 > n2) {
cout << "Длинной стороной вдоль длинной больше" << endl;
}
else if (n2 > n1) {
cout << "Длинной стороной вдоль короткой больше" << endl;
}
else {
cout << "При разном расположении одинаково" << endl;
}
0,0(0 оценок)
Ответ:
prostopohelnaxyi
prostopohelnaxyi
26.03.2023 20:37
Лучше скопировать код в текстовый файл - не уверен что тут он нормально будет читаться (много комментариев)
/*  Рассматривать будем независимо координаты X (с шириной) и Y (с высотой) * *  Варианты взаимного расположения одной координаты: * * 1) CD левее AB *            A       B *            || *  || *  C        D * * 2) CD пересекает слева AB *            A       B *            || *     || *     C        D * * 3) CD внутри AB *            A       B *            || *             || *             C     D * * 4) AB внутри CD *            A       B *            || *           || *           C         D * * 5) CD пересекает справа AB *            A       B *            || *               || *               C        D * * 6) CD правее AB *            A       B *            || *                      || *                      C        D */

///*  Вс функция  inside_coord() определяет, что координата первого  прямоугольника лежит полностью внутри второго.
  Параметры: координата и размер первого прямоугольника             координата и размер второго прямоугольника
  Возвращает: 1 если координата первого лежит полностью внутри второго или              0 если не полностью или вообще за пределами.  Фактически определяет имеем ли мы вариант 4 (см. выше).*/int inside_coord (int coord1, int size1, int coord2, int size2){   int A = coord1, B = coord1 + size1;   int C = coord2, D = coord2 + size2;
   /* проверяем вариант 4 */   if ((A >= C) && (B <= D)) {     return 1;   }   else  {     return 0;   }}
///*  Вс функция  intersect_coord() определяет, что координаты не пересекаются.  Параметры: координата и размер первого прямоугольника             координата и размер второго прямоугольника
  Возвращает: 1 если не пересекаются, 0 если хоть как-то              пересекаются.  Фактически определяет имеем ли мы вариант 1 или 6 (см. выше).*/int intersect_coord (int coord1, int size1, int coord2, int size2){   int A = coord1, B = coord1 + size1;   int C = coord2, D = coord2 + size2;
   /* проверяем вариант 1 или вариант 6 */   if ((D <= A) || (C >= B)) {     return 1;   }   /* проверяем вариант 6 */   else if (C >= B)  {     return 1;   }   else  {     return 0;   }}
//
/* Переменные содержащие координаты (x, y, ширина, высота) первого прямоугольника: */int x1, y1, width1, height1;/* Переменные содержащие координаты (x, y, ширина, высота) второго прямоугольника: */int x2, y2, width2, height2;

///* функция проверяющая, что все точки первого внутри второго * возвращает 1, если это так, 0 если не так. */int is_first_inside_second (void){int x_inside, y_inside;  /* проверка, что x полностью внутри */  x_inside = inside_coord (x1, width1, x2, width2);  /* проверка, что y полностью внутри */  y_inside = inside_coord (y1, height1, y2, height2);
  if ((x_inside) && (y_inside))  {    /* если x внутри И y внутри, то весь прямоугольник внутри */    return 1;  }  else  {    return 0;  }}
///* функция проверяющая, что все точки второго внутри первого * возвращает 1, если это так, 0 если не так. */int is_second_inside_first (void){int x_inside, y_inside;  /* проверка, что x полностью внутри */  x_inside = inside_coord (x2, width2, x1, width1);  /* проверка, что y полностью внутри */  y_inside = inside_coord (y2, height2, y1, height1);
  if ((x_inside) && (y_inside))  {    /* если x внутри И y внутри, то весь прямоугольник внутри */    return 1;  }  else  {    return 0;  }}
///* функция проверяющая, что все точки одного внутри второго * возвращает 1, если это так, 0 если не так. */int is_any_inside_any (void){  /* проверка что первый внутри второго или второй внутри первого */  if (is_first_inside_second() || is_second_inside_first())  {    return 1;  }  else  {    return 0;  }}
///* функция проверяющая, что прямоугольники пересекаются * возвращает 1, если это так, 0 если не так. */int is_intersection (void){int x_intersect, y_intersect;  /* проверка, что x вообще пересекаются хоть как-то */  x_intersect = intersect_coord (x1, width1, x2, width2);  /* проверка, что y вообще пересекаются хоть как-то */  y_intersect = intersect_coord (y1, height1, y2, height2);
  if ((x_intersect) && (y_intersect))  {    /* если x пересекаются И y пересекаются, прямоугольники пересекаются */    return 1;  }  else  {    return 0;  }}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота