Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2008, 23:48   #1
6AZblJlb
Пользователь
 
Аватар для 6AZblJlb
 
Регистрация: 04.12.2008
Сообщений: 46
По умолчанию Выпуклый N-угольник и его диагонали

Доброго времени суток.... Может кто подкинет идейку решения...чтото не могу догнать..... Дано число N ....N-угольник. Посчитать количество кусочков если разреть его по всем диагоналям..... например как я понял ..еси 3 то 1 кусок диагоналей то нет......еси 4 то 4 кусочка...еси 5 то 11....не догоняю как реализовать в Паскале...
Будь проще, и у тебя будет меньше делителей.
6AZblJlb вне форума Ответить с цитированием
Старый 07.12.2008, 19:41   #2
6AZblJlb
Пользователь
 
Аватар для 6AZblJlb
 
Регистрация: 04.12.2008
Сообщений: 46
По умолчанию

ну что так никому нчиего и не пришло в голову?! я вот только формулу кол-ва диагоналей нашел(
Будь проще, и у тебя будет меньше делителей.
6AZblJlb вне форума Ответить с цитированием
Старый 07.12.2008, 22:24   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,542
По умолчанию

1. берем выпуклый многоугольник
2. выбираем одну вершину
3. проводим все диагонали из этой вершины
4. считаем треугольники
5. выбираем вторую вершину проводим диагонали (ОДНА уже есть) и снова считеаем.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 07.12.2008, 22:45   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,542
По умолчанию

диагонали второй (соседней с первой) вершины разрежут треугольники полученные на первом этапе. для каждой диагонали число новых деталей =число разрезаемых треугольников.Число таких треугольников зависит от числа пресекаемых диагоналей. N-3 + N-4 + ...
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 08.12.2008, 00:15   #5
6AZblJlb
Пользователь
 
Аватар для 6AZblJlb
 
Регистрация: 04.12.2008
Сообщений: 46
По умолчанию

поясни плиз последнюю фразу я что то не допонял.....
я вот что наколупал..... но тут на 17 выдает не верные ответ надо чтоб было 2500
Код:
           var
           i,j,n,k,max : longint;
           a : array [1..1000,1..1000] of int64;

begin

readln(n);
k:=0;
for i:=1 to n do  begin
  for j:=1 to n do
   if (j-i>=2)  then
    begin
     {******************}
     if i>1 then   begin
      a[i,j]:=k+j-2;
      k:=a[i,j];
      end
      else
       if (i=1) and (j<>n) then
       begin  a[i,j]:=j-1;
       k:=a[i,j];
       end;
     end{a[i,j]:=1}
     {**********************}
  else a[i,j]:=1;
      end;
  a[1,n]:=1;
   max:= a[1,1];

   for i:=1 to n do
     for j:=1 to n do
       if a[i,j]>max then max:=a[i,j];
           writeln(max);

    for i:=1 to n do  begin
      for j:=1 to n do
         write(a[i,j],' ');
         writeln;
         end;
         readln(i);

       end.
Будь проще, и у тебя будет меньше делителей.
6AZblJlb вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица. Сумма элементов главной диагонали RECREATOR Помощь студентам 13 11.05.2011 22:12
Вписанная в выпуклый n-угольник окружность Nixond Паскаль, Turbo Pascal, PascalABC.NET 10 15.10.2008 13:28
Выпуклый четырёхугольник(как проверить) Pascal SARA Помощь студентам 12 23.06.2008 19:20
выпуклый стиль ToolButton andrey4623 Общие вопросы Delphi 2 04.03.2008 19:19
Единицы по диагонали ChipLink Общие вопросы Delphi 2 24.01.2008 19:45