Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запутался с наследованием и полиморфизмом 
:(
    Опции темы
Нитонисе
Дата 9.11.2010, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(mes @  9.11.2010,  18:21 Найти цитируемый пост)
а не надо получать каждый элемент отдельно.. за один раз получаете структуру 4го уровня, и оперируете уже с ней

Это как?
PM MAIL   Вверх
mes
Дата 9.11.2010, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 6
Всего: 250



Цитата(Нитонисе @  9.11.2010,  17:51 Найти цитируемый пост)
Это как? 

хм.. на абстрактном примере неудобно объяснять.. 
грубо говоря не бойтесь делать вложенные функции..

Добавлено через 8 минут и 40 секунд
ну а применительно к вашей задаче, думаю, будет удобно разбить на два слоя :
нижний - уровень формул, где все связи статические.. 
верхний - уровень визуализации, полиморфно объединяющий сущности нижнего уровня..

Добавлено через 12 минут и 36 секунд
могу показать на примере, если приведете полностью формулу расчета нагрузки .. 




--------------------
PM MAIL WWW   Вверх
Нитонисе
Дата 9.11.2010, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(mes @  9.11.2010,  19:05 Найти цитируемый пост)
могу показать на примере, если приведете полностью формулу расчета нагрузки .. 

Попробуйте) Только формула не расчета нагрузки, а расчета усилия от нагрузки. Вот функция, определяющие опорны моменты от нагрузки. Формула подсчета определяется на первом этапе в зависимости от типа опор, а затем от типа нагрузки. Вот эта ужасная функция  smile 
Код

int SimpleBeam::calcSupM(Load *l, float &m1, float &m2)
{
  int report = 0;
  if (leftSupport == Rigid)
  {
    // жесткая-жесткая
    if (rightSupport == Rigid)
    {
      if (LinearLoad *ll = dynamic_cast<LinearLoad*>(l))
      {
        float value = ll->getValue();
        m1 = - value*length*length/12;
        m2 = m1;
        report = 1;
      }
      else if (PartLinearLoad *pll = dynamic_cast<PartLinearLoad*>(l))
      {
        float value = pll->getValue();
        unsigned int x = pll->getX();
        unsigned int s = pll->getS();
        float a = x + s/2;
        float b = length - a;
        m1 = - value*s*(a*b*b - s*s*(2*b - a)/12)/(length*length);
        m2 = - value*s*(a*a*b - s*s*(2*a - b)/12)/(length*length);
        report = 1;
      }
      else if (DotLoad *dl = dynamic_cast<DotLoad*>(l))
      {
        float value = dl->getValue();
        unsigned int x = dl->getX();
        float a = x/length;
        float b = 1 - a;
        m1 = - a*b*b*value*length;
        m2 = - a*a*b*value*length;
        report = 1;
      }
    }
    // жесткая-шарнир
    else if (rightSupport == Hinge)
    {
      if (LinearLoad *ll = dynamic_cast<LinearLoad*>(l))
      {
        float value = ll->getValue();
        m1 = - value*length*length/8;
        m2 = 0;
        report = 1;
      }
      else if (PartLinearLoad *pll = dynamic_cast<PartLinearLoad*>(l))
      {
        float value = pll->getValue();
        unsigned int x = pll->getX();
        unsigned int s = pll->getS();
        float a = x + s/2;
        float b = length - a;
        m1 = - value*a*b*s*(length + b - s*s/(4*a))/(2*length*length);
        m2 = 0;
        report = 1;
      }
      else if (DotLoad *dl = dynamic_cast<DotLoad*>(l))
      {
        float value = dl->getValue();
        unsigned int x = dl->getX();
        float a = 1 - x/length;
        m1 = - (value*length/2)*a*(1 - a*a);
        m2 = 0;
        report = 1;
      }
    }
    // жесткая-консоль
    else if (rightSupport == Free)
    {
      if (LinearLoad *ll = dynamic_cast<LinearLoad*>(l))
      {
        float value = ll->getValue();
        m1 = - value*length*length/2;
        m2 = 0;
        report = 1;
      }
      else if (PartLinearLoad *pll = dynamic_cast<PartLinearLoad*>(l))
      {
        float value = pll->getValue();
        unsigned int x = pll->getX();
        unsigned int s = pll->getS();
        m1 = - value*s*(x+s/2);
        m2 = 0;
        report = 1;
      }
      else if (DotLoad *dl = dynamic_cast<DotLoad*>(l))
      {
        float value = dl->getValue();
        unsigned int x = dl->getX();
        m1 = - value*x;
        m2 = 0;
        report = 1;
      }
    }
  }
  else if (leftSupport == Hinge)
  {
    // шарнир-жесткая
    if (rightSupport == Rigid)
    {
      if (LinearLoad *ll = dynamic_cast<LinearLoad*>(l))
      {
        float value = ll->getValue();
        m1 = 0;
        m2 = - value*length*length/8;
        report = 1;
      }
      else if (PartLinearLoad *pll = dynamic_cast<PartLinearLoad*>(l))
      {
        float value = pll->getValue();
        unsigned int x = pll->getX();
        unsigned int s = pll->getS();
        float a = x + s/2;
        float b = length - a;
        m1 = 0;
        m2 = - value*b*a*s*(length + a - s*s/(4*b))/(2*length*length);
        report = 1;
      }
      else if (DotLoad *dl = dynamic_cast<DotLoad*>(l))
      {
        float value = dl->getValue();
        unsigned int x = dl->getX();
        float a = x/length;
        m1 = 0;
        m2 = - (value*length/2)*a*(1 - a*a);
        report = 1;
      }
    }
    // шарнир-шарнир
    else if (rightSupport == Hinge)
    {
      m1 = 0;
      m2 = 0;
      report = 1;
    }
  }
  else if (leftSupport == Free)
  {
    // консоль-жесткая
    if (rightSupport == Rigid)
    {
      if (LinearLoad *ll = dynamic_cast<LinearLoad*>(l))
      {
        float value = ll->getValue();
        m1 = 0;
        m2 = - value*length*length/2;
        report = 1;
      }
      else if (PartLinearLoad *pll = dynamic_cast<PartLinearLoad*>(l))
      {
        float value = pll->getValue();
        unsigned int x = pll->getX();
        unsigned int s = pll->getS();
        float a = length - x - s;
        m1 = 0;
        m2 = - value*s*(a+s/2);
        report = 1;
      }
      else if (DotLoad *dl = dynamic_cast<DotLoad*>(l))
      {
        float value = dl->getValue();
        unsigned int x = dl->getX();
        float a = length - x;
        m1 = 0;
        m2 = - value*a;
        report = 1;
      }
    }
  }
  return report;
}

результаты расчета по ссылкам m1, m2 заносятся во внешние переменные.
PM MAIL   Вверх
mes
Дата 9.11.2010, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 6
Всего: 250



Цитата(Нитонисе @  9.11.2010,  18:25 Найти цитируемый пост)
Только формула не расчета нагрузки, а расчета усилия от нагрузки. 

разумеется.. оговорился smile

Цитата(mes @  9.11.2010,  18:05 Найти цитируемый пост)
 формулу

Цитата(Нитонисе @  9.11.2010,  18:25 Найти цитируемый пост)
от эта ужасная функция  

я формулу просил,а не Вашу реализацию ее smile



--------------------
PM MAIL WWW   Вверх
Нитонисе
Дата 9.11.2010, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(mes @  9.11.2010,  19:29 Найти цитируемый пост)
я формулу просил,а не Вашу реализацию ее

Так в этой функции ничего кроме ормул и нету собственно) В зависимости от типов опор и типа нагрузки. Я не совсем понял что вы имели ввиду, ну тогда вот вам одна формула, для расчета опорных моментов от точечной нагрузки на балке с жесткими опорами.
Код

if (DotLoad *dl = dynamic_cast<DotLoad*>(l))
      {
        float value = dl->getValue(); // значение нагрузки
        unsigned int x = dl->getX();  // координата нагрузки на балке
        float a = x/length;  // length - длина балки
        float b = 1 - a;  // вспомогательная величина
        m1 = - a*b*b*value*length; // опорный момент от нагрузки слева
        m2 = - a*a*b*value*length;  // опорный момент от нагрузки справа
      }

PM MAIL   Вверх
mes
Дата 9.11.2010, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 6
Всего: 250



Цитата(Нитонисе @  9.11.2010,  19:21 Найти цитируемый пост)
Так в этой функции ничего кроме ормул и нету собственно)

нет там куча лишних деталей, на разбор и обдумывание которых неохота тратить время.. 

Цитата(Нитонисе @  9.11.2010,  19:21 Найти цитируемый пост)
В зависимости от типов опор и типа нагрузки.

вот а где эта зависимость ? чем выражена ?

Добавлено через 2 минуты и 55 секунд
напишите формулу, без учета ваших классов..мне интересны какие данные необходимы..

Добавлено через 3 минуты и 52 секунды
Цитата(Нитонисе @  9.11.2010,  19:21 Найти цитируемый пост)
ну тогда вот вам одна формула, для расчета опорных моментов от точечной нагрузки на балке с жесткими опорами.

мне не нужна для конкретной опоры.. мне нужна общая.. 


Это сообщение отредактировал(а) mes - 9.11.2010, 20:51


--------------------
PM MAIL WWW   Вверх
Нитонисе
Дата 9.11.2010, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(mes @  9.11.2010,  20:49 Найти цитируемый пост)
вот а где эта зависимость ? чем выражена ?

В кучке сравнений if...else... в зависимости от выбранного пути - свой расчет.

Цитата(mes @  9.11.2010,  20:49 Найти цитируемый пост)
мне не нужна для конкретной опоры.. мне нужна общая.. 

Так вот в том-то и дело, что общей формулы нету. Есть 18 частных формул. В кажой из этих формул используются разные данные и они по разному обрабатываются.
PM MAIL   Вверх
mes
Дата 9.11.2010, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 6
Всего: 250



Цитата(Нитонисе @  9.11.2010,  20:58 Найти цитируемый пост)
В кучке сравнений if...else... в зависимости от выбранного пути - свой расчет.

У Вас же не вымышленные расчеты ? от чего зависит в реале ?

Добавлено через 2 минуты и 2 секунды
Цитата(Нитонисе @  9.11.2010,  20:58 Найти цитируемый пост)
Так вот в том-то и дело, что общей формулы нету.

не верю © есть хотя бы  логическое описание происходящего.. 


Цитата(Нитонисе @  9.11.2010,  20:58 Найти цитируемый пост)
Есть 18 частных формул.

опять свою реализацию подставляете ? 


Цитата(Нитонисе @  9.11.2010,  20:58 Найти цитируемый пост)
В кажой из этих формул используются разные данные и они по разному обрабатываются. 

прям уж так разные ?!

Добавлено через 3 минуты и 12 секунд
а также вопорос, что у Вас будет кроме балок, куда можно приложить нагрузку ? и чем кроме вида и названия они отличаются от балки ..

Добавлено через 10 минут и 55 секунд
взял для примера пару расчетов из вашей функции
Цитата(Нитонисе @  9.11.2010,  18:25 Найти цитируемый пост)
 if (rightSupport == Rigid)
    {
      if (LinearLoad *ll = dynamic_cast<LinearLoad*>(l))
      {
        float value = ll->getValue();
        m1 = - value*length*length/12;
        m2 = m1;
        report = 1;
      }..

 else if (rightSupport == Hinge)
    {
      if (LinearLoad *ll = dynamic_cast<LinearLoad*>(l))
      {
        float value = ll->getValue();
        m1 = - value*length*length/8;
        m2 = 0;
        report = 1;
      }


видно что единственное чем отличаются расчеты для Rigid и Hinge это коэффициент (8 или 12).

Добавлено через 12 минут и 5 секунд
Код

 m1 = - value*length*length/2;

для третего типа опоры то же самое.. 



--------------------
PM MAIL WWW   Вверх
mes
Дата 9.11.2010, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 6
Всего: 250



Цитата(Нитонисе @  9.11.2010,  18:25 Найти цитируемый пост)
    m1 = - a*b*b*value*length;

да и вот тут явно общность видна.. и в осзтальных местах тоже.. и где ж хваленное знание предметной области ?! 
 smile 

Это сообщение отредактировал(а) mes - 9.11.2010, 22:52


--------------------
PM MAIL WWW   Вверх
Нитонисе
Дата 9.11.2010, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(mes @  9.11.2010,  22:33 Найти цитируемый пост)
У Вас же не вымышленные расчеты ? от чего зависит в реале ?

Вот в реале усилия и зависят от типов опор и от типа нагрузки)

Цитата(mes @  9.11.2010,  22:33 Найти цитируемый пост)
не верю © есть хотя бы  логическое описание происходящего.. 

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

Цитата(mes @  9.11.2010,  22:33 Найти цитируемый пост)
прям уж так разные ?!

Да - разные. Например чтобы обработать линейную нагрузку на всей балке нас интересует только длина балки и величина нагрузки. Этого достаточно чтобы вычислить опорные моменты. Однако расчетные формулы зависят от типов опор. Если же мы считаем усилия от точечной нагрузки, то кроме значения нам еще надо и привязка нагрузки к одной из опор, а если мы считаем линейную нагрузку на части балки, то нам нужно знать привязку этой нагрузки к опорам и длину приложения. Подмножество типов нагрузок может быть дополнено еще довольно значительным количеством нагрузок, которые встречаются значительно реже, но все же.

Цитата(mes @  9.11.2010,  22:33 Найти цитируемый пост)
а также вопорос, что у Вас будет кроме балок, куда можно приложить нагрузку ? и чем кроме вида и названия они отличаются от балки ..

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

Цитата(mes @  9.11.2010,  22:33 Найти цитируемый пост)
видно что единственное чем отличаются расчеты для Rigid и Hinge это коэффициент (8 или 12).
Так это ведь существенно!

Добавлено через 1 минуту и 39 секунд
Цитата(mes @  9.11.2010,  22:52 Найти цитируемый пост)
да и вот тут явно общность видна.. и в осзтальных местах тоже.. и где ж хваленное знание предметной области ?! 

К чему вы клоните?  smile 
PM MAIL   Вверх
mes
Дата 10.11.2010, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 6
Всего: 250



Цитата(Нитонисе @  9.11.2010,  21:59 Найти цитируемый пост)
 так как описание нагрузки для задания на плоскости совсем другое, нежели описание нагрузки на стержне.

вот одно узнали.... значит для всех стержней расчет одинаков ?

Добавлено @ 00:03
Цитата(Нитонисе @  9.11.2010,  21:59 Найти цитируемый пост)
Цитата

это коэффициент (8 или 12).

Так это ведь существенно!

а я разве говорю не существенно ? я говорю о том что опора характеризуется коэфицентом чего то.. 
чего именно Вам видней.. Вот вроде и второй пункт решен..

Добавлено @ 00:05
Цитата(Нитонисе @  9.11.2010,  21:59 Найти цитируемый пост)
Если же мы считаем усилия от точечной нагрузки, то кроме значения нам еще надо и привязка нагрузки к одной из опор, а если мы считаем линейную нагрузку на части балки, то нам нужно знать привязку этой нагрузки к опорам и длину приложения. 

все это спокойно выражется в формуле..  грубо говоря Вам не надо знать тип нагрузки, а нужно лишь знать точки приложения..

Добавлено @ 00:10
Цитата(Нитонисе @  9.11.2010,  21:59 Найти цитируемый пост)
К чему вы клоните? 

К тому что Вы не проработали вопрос, и пытаетесь его решить в лоб, несмотря на то, что даже само решение показывает Вам, иль даже кричит, что надо не так smile

Добавлено @ 00:11
Как подсказка, забудьте про классы, и напишите расчетные функции (пусть несколько если легче), только на основании необходимых передаваемых в них данных.. (объединять данные можно только в простые структуры) 


Это сообщение отредактировал(а) mes - 10.11.2010, 00:36


--------------------
PM MAIL WWW   Вверх
Нитонисе
Дата 10.11.2010, 01:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(mes @  10.11.2010,  00:01 Найти цитируемый пост)
вот одно узнали.... значит для всех стержней расчет одинаков ?

Нет. Все расчетные формулы, интересующие меня на данном этапе, я привел в своей большой функции чуть выше. Вы считаете это одинаковые формулы? Хм  smile 

Цитата(mes @  10.11.2010,  00:01 Найти цитируемый пост)
а я разве говорю не существенно ? я говорю о том что опора характеризуется коэфицентом чего то.. чего именно Вам видней.. Вот вроде и второй пункт решен..

Какой пункт? Я теряю вашу нить рассуждений)) Что касается 8 и 10 - это эмпирические выражения, они ни от чего не зависят и постоянны при данных опорах балки и данном типе нагрузки.

Цитата(mes @  10.11.2010,  00:01 Найти цитируемый пост)
все это спокойно выражется в формуле..  грубо говоря Вам не надо знать тип нагрузки, а нужно лишь знать точки приложения..

Ну что ж, сказали А, скажите и Б. Есть балка, две жесткие заделки по краям. Нагрузка может быть точечная (DotLoad), а может быть линейная по всей длине (LinearLoad). Покажите как будет выглядеть единая универсальная формула (как выглядят частные формулы можно посмотреть в моей большой функции).

PM MAIL   Вверх
mes
Дата 10.11.2010, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 6
Всего: 250



Цитата(Нитонисе @  10.11.2010,  00:08 Найти цитируемый пост)
вот одно узнали.... значит для всех стержней расчет одинаков ?

Нет. Все расчетные формулы, интересующие меня на данном этапе, я привел в своей большой функции чуть выше. Вы считаете это одинаковые формулы? Х

даже если функций несколько, они то для всех стержней одинаковы ? при наличие других стержней, кроме упомянутой однопролетной балки..

Добавлено @ 01:15
Цитата(Нитонисе @  10.11.2010,  00:08 Найти цитируемый пост)
Что касается 8 и 10 - это эмпирические выражения, они ни от чего не зависят и постоянны при данных опорах балки и данном типе нагрузки

значит зависят по таблице..

Добавлено через 5 минут и 34 секунды
Цитата(Нитонисе @  10.11.2010,  00:08 Найти цитируемый пост)
Ну что ж, сказали А, скажите и Б. 

т.е. Вам не только подсказать, но еще и сделать за Вас ?!

Цитата(Нитонисе @  10.11.2010,  00:08 Найти цитируемый пост)
Покажите как будет выглядеть единая универсальная формула (как выглядят частные формулы можно посмотреть в моей большой функции).

Для начала приведите свои функции в читабельный вид...  smile

Добавлено через 6 минут и 3 секунды
лазить в такой грязи и разбираться, жаль зрения..

Добавлено через 11 минут и 21 секунду
кстати покажите что у вас сейчас внутри классов опор..

Добавлено через 12 минут и 6 секунд
и  перечислите какие типы опор бывают..

Добавлено через 12 минут и 23 секунды
кроме тех трех что уже упомянуты

Это сообщение отредактировал(а) mes - 10.11.2010, 01:16


--------------------
PM MAIL WWW   Вверх
mes
Дата 10.11.2010, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 6
Всего: 250



к тому же у вас сейчас повторение для симметричных функций относительно типа опор.. 



--------------------
PM MAIL WWW   Вверх
Нитонисе
Дата 10.11.2010, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



mes, вобщем-то не имеет смысла обсуждать этот вопрос дальше, так как для того чтобы вы поняли о чем идет речь - вам придется освоить профессию расчетчика строительных конструкций. Что касается меня, то я работаю с этими расчетами регулярно, так как это является моей основной профессией.
Цитата(mes @  10.11.2010,  01:12 Найти цитируемый пост)
лазить в такой грязи и разбираться, жаль зрения.. 

А вот это интересно) Что, по вашему, является грязью в моей функции расчета усилий?)

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0762 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.