Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
boom299
2 / 2 / 0
Регистрация: 08.04.2011
Сообщений: 23
#1

Найти площадь сарая - C++

10.05.2011, 22:43. Просмотров 793. Ответов 5
Метки нет (Все метки)

Фермер хочет построить на своей земле как можно больший по площади сарай. Но на его участке есть деревья и хоз. постройки, которые он не хочет никуда переносить. Для простоты представим форму сеткой размера MxN. Каждое из деревьев и построек размещается в одном или нескольких узлах сетки.

Прямоугольный сарай не должен ни с чем соприкасаться (т.е. в соседних с ним узлах сетки не может ничего быть)

Найти максимально возможную площадь сарая и где он может размещаться.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2011, 22:43     Найти площадь сарая
Посмотрите здесь:

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

Найти площадь - C++
Найти площадь равнобедренной трапеции по заданным величинам основе A и B, и угла при большем основании.

Найти площадь n-угольника - C++
нужно написать прогу, вводитса натуралбное число n, и действительных чисел х1, у1… хn, уn, найти площу n-кутника, вершины у коророва (х1,...

Найти площадь прямоугольника - C++
Известны координаты трех точек A(x1,y1),B(x2,y2),C(x3,y3) , которые являются вершинами некоторого прямоугольника. Найти площадь этого...

Найти площадь треугольника - C++
дан производительный треугольник со сторонами a b c найти площадь треугольника c++

Найти площадь квадрата - C++
Найти площадь квадрата: S = a2 Значения вводить и выводить с помощью операции cin>> и cout<<

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
10.05.2011, 23:20     Найти площадь сарая #2
а отношение длинны к ширине фермера интересует или ему подойдёт тридцатиметровый сарай в метр шириной через весь участок?
boom299
2 / 2 / 0
Регистрация: 08.04.2011
Сообщений: 23
10.05.2011, 23:32  [ТС]     Найти площадь сарая #3
сказали, что любой!
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
12.05.2011, 08:47     Найти площадь сарая #4
Прямой перебор.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <cstdlib>
#include <ctime>
#include <cstdio>
 
int TestRectangle(bool **array,
                   size_t i_begin, size_t j_begin,
                   size_t i_end, size_t j_end) {
  for (size_t i = i_begin; i < i_end; ++i)
    for (size_t j = j_begin; j < j_end; ++j)
      if (array[i][j])
        return -1;
  return ((i_end - i_begin) * (j_end - j_begin));
}
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  size_t farm_width = 10;
  size_t farm_height = 10;
  bool **array = new bool*[farm_height];
  for (size_t i = 0; i < farm_height; ++i) {
    array[i] = new bool[farm_width];
    for (size_t j = 0; j < farm_width; ++j)
      printf("%2d", array[i][j] = rand() % 2);
    printf("\n");
  }
 
  size_t max_i_begin = 0, max_j_begin = 0, max_i_end = 0, max_j_end = 0;
  int max_area = 1;
  for (size_t i_begin = 0; i_begin < farm_height; ++i_begin)
    for (size_t j_begin = 0; j_begin < farm_width; ++j_begin)
      for (size_t i_end = i_begin; i_end <= farm_height; ++i_end)
        for (size_t j_end = j_begin; j_end <= farm_width; ++j_end) {
          int this_area = TestRectangle(array,
                          i_begin, j_begin, i_end, j_end);
          if (this_area > max_area) {
            max_area = this_area;
            max_i_begin = i_begin;
            max_i_end = i_end;
            max_j_begin = j_begin;
            max_j_end = j_end;
          }
        }
 
  printf("Max area: %d. (%d, %d) - (%d, %d) [(y1, x1) - (y2 - x2)]\n",
         max_area, max_i_begin + 1, max_j_begin + 1, max_i_end, max_j_end);
 
  for (size_t i = 0; i < farm_height; ++i)
    delete [] array[i];
  delete [] array;
  return 0;
}
eXXXXXXXXXXX
30 / 30 / 3
Регистрация: 24.02.2011
Сообщений: 126
12.05.2011, 11:56     Найти площадь сарая #5
Цитата Сообщение от lemegeton Посмотреть сообщение
Прямой перебор.
Явно это задача не через него решается, это дин. прогр-ие
boom299, а гуглить не пробовал?
http://algolist.manual.ru/olimp/rec_sol.php#a11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2012, 17:47     Найти площадь сарая
Еще ссылки по теме:

Найти площадь шестиугольника - C++
Есть задача: Найти площадь шестиугольника, стороны которого равны a, b, c, d, е, f и диагонали, которые разбивают шестиугольник на...

Найти общую площадь - C++
Вот задачка. Можете подсказать идейку, как ее решить? Код я могу и сама написать. Может с помощью множеств?

Найти площадь пятиугольника - C++
Даны вещественные числа а, b, с, d, e. Найти площадь пятиугольника, изображенного на рис.2. (Определить функцию для расчета площади...

Найти площадь пятиугольника - C++
даны вещественные числа a.b.c.d.e Найти площадь пятиугольника ,(определить функцию для расчёта площади треугольника по трём сторонам) в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Лера Чай
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 71
28.10.2012, 17:47     Найти площадь сарая #6
а вот та же задача у меня в курсовой, только на языке делфи, вы можете код перевести?
Yandex
Объявления
28.10.2012, 17:47     Найти площадь сарая
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru