Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Объявления о найме специалистов > Предлагаю разовую работу - задача для С++


Автор: balabinrm 24.5.2006, 16:56
Необходимо написать программу:

1. Идея:
Одиночная частица (№1) единичного радиуса располагается в начале координат (0;0;0). На расстоянии L от нее появляется аналогичная частица (№2). Частица №2 совершает случайные блуждания (НЕ по клеткам) с заданной длиной шага H. При превышении расстояния в nL (n = 2..3) от начала координат, частица уничтожается и вбрасывается новая (№2-2). При касании частицы №1 частица №2 «прилипает» к ней с заданной вероятностью P (P = 0..1). Образуется кластер. Вбрасывается новая частица (№3). Процесс повторяется вплоть до присоединения частицы №3 к частице №1 или №2 и образования нового кластера.
L является функцией радиуса кластера R (под радиусом кластера понимается расстояние от начала координат до самой удаленной частицы кластера). Например: L = 4 + 2*R.
Процесс прекращается при достижении заданного числа частиц в кластере M (M = 10..10^6).

2. Входные параметры:
 H, P, M, n, L®

3. Выходные параметры:
Кластер: файл (*.txt) с координатами частиц в столбик. Пример:
    0, 0, 0
    1, 0, 0
    0, 1, 0
    …
Радиус кластера: файл (*.txt) c радиусами кластера в столбик. Пример:
    1
    1.81
    2.42
    …

P.S.: В программе должны использоваться указанные обозначения. Вид зависимости L® должен быть явно обозначен. Программу необходимо снабдить комментариями к каждому блоку. Язык: C++

Собственно все. Более подробные разъяснения при личном общении.
  

Автор: asfeo2006 27.5.2006, 22:45
Готов взяться за предложенную задачу. Алексей gwinevera@yahoo.com 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)