Помогите написать программу!

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
Борвыс
Сообщения: 0
Зарегистрирован: 15 ноя 2015, 06:28

15 ноя 2015, 06:48

ПОГРУЖЕНИЕ В ПРОБЛЕМУ.
Предположим, что в мире происходят некоторые процессы, которые имеют числовое выражение. Характерно, что эти явления происходят так, что числа их характеризующие, располагаются по возрастанию.
Пример 1: 7, 19, 20, 27, 34, 40.
Статистика многолетних наблюдений за этими явлениями показала, что в каждом втором наблюдении между некоторыми числами соседних колонок присутствует интервал 1.
Определение: Интервал – это числовая разница между числами соседних колонок.
Так в нашем примере интервалы соответственно составляют:
12, 01, 07, 07, 06 . Как видим, между числом второй и третьей колонок присутствует интервал 1.
Статистические наблюдения так же показали, что между предыдущим и последующим наблюдением присутствует еще один показатель, назовем его «ожиданием», который в числовом выражении также характеризуется 1.
Интервал и ожидание со значением 1 в среднем встречаются между собой в каждом 5 (пятом) наблюдении.



Техническое задание
на разработку компьютерной программы.
1. Шаг первый. Необходимо, чтобы программа расписывала все возможные комбинации из заданной числовой матрицы в шесть или пять колонок.
Пример 6-колоночной матрицы: 01 06 11 16 21 26
.. .. .. .. .. ..
.. .. .. .. .. ..
23 28 35 40 44 45
Первая колонка от 01 до 23, последняя – от 26 до 45. Числовой ряд в колонках может варьироваться. К примеру, первая колонка от 01 до 09, вторая от 10 до 19 и т.д.
Рассмотрим пример расписывания этой числовой матрицы (каждое последующее число с каждым предыдущим по возрастанию):
01 06 11 16 21 26
27
..
45
01 06 11 16 22 26
27
..
45
.. .. .. .. .. .. ..
и т.д. Последней, в нашем случае, соответственно, будет следующая комбинация чисел: 23 28 35 40 44 45.
Во всех расписанных комбинациях, числа в последующей колонке, должны быть больше, чем в предыдущей.
Отрицательный пример: 18 20 19 33 30 42. 19 и 30 здесь не вписываются в этот числовой ряд, они меньше, чем предыдущие числа. Правильно 18 19 20 30 33 42.

2. Шаг второй: Из максимально возможного количества расписанных числовых комбинаций, программа должна оставлять только те, где есть один или два из заранее заданных интервала.
Определение: Интервал – это числовое значение между двумя рядом стоящими числами.
Пример: в первом расписанном варианте интервалы составляют 5 5 5 5, а в последнем: 5 7 5 4 1.
К примеру, при работе с программой пользователь может поставить задачу, чтобы программа оставила только те комбинации, где есть один интервал в 1 или два интервала в 1, или другие интервалы.
Пример. В комбинации чисел 3 7 8 16 24 35, интервалы 4 1 8 8 11 или, соответственно, 7 8 22 23 36 44 и 1 14 1 13 8.
В первом случае в числовой комбинации присутствует один интервал 1, а во втором – два интервала с 1.
3. Шаг третий. После выполнения условия, изложенного в п. 2, то есть, из оставшихся комбинаций с заданным интервалом, программа должна оставить только те комбинации чисел, где присутствуют одно или два ЧИСЛА из заданного числового ряда.
Пример. Необходимо, чтобы в дальнейшем остались те комбинации, где есть одно или два (пара) числа из следующего, МАЛОГО ряда чисел: 7 11 18 27 40 44. Пары чисел, составленные из этого числового ряда: 7-11, 7-18, …………. и 40-44 (всего в данном случае будет 15 пар чисел по возрастанию). После выполнения этих действий программа должна показать, сколько числовых комбинаций имеем в остатке.
4. Шаг четвертый. После выполнения условия п.3 из оставшегося количества комбинаций программе необходимо выбрать и оставить только те числовые комбинации, где присутствуют один или два числа из следующего заданного, БОЛЬШОГО ряда чисел. Пример такого ряда: 1, 9, 13, 19, 20, 22, 24, 30, 31, 32, 36, 36, 38, 43. Из него тоже, при необходимости, могут быть составлены пары чисел.
5. В дальнейшем, при необходимости, при помощи данной программы, может вводиться третий (дополнительный) ряд чисел и пар чисел.

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