PDA

Просмотр полной версии : Помогите сделать калькулятор.


glukaviy
17.07.2009, 17:58
Идея такова:
есть карта округов москвы http://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Msk_all_districts.svg/250px-Msk_all_districts.svg.png

Как правильно сделать, предположим нажимаем на округ потом нажимаем еще на
один далее нажимаем кнопку рассчитать, если округа выбраны соседние то считается по формуле 500+300 (доставка в округе + доставка в соседний округ). Если же округа находятся через один друг от друга то считается по формуле 500+300+300....
не поможете ли с решением проблемы?

iNils
17.07.2009, 18:42
Описать в массиве все соседние области. Если введенная область есть в массиве, значит 500+300, если нет, значит 500+300+300

glukaviy
20.07.2009, 14:07
Для каждой области нужно составить массив в котором будут присутствовать соседние области? так?

iNils
20.07.2009, 14:12
Обычный двухмерный массив.

glukaviy
20.07.2009, 14:30
Не понял... iNils, можно подробнее.. если не сложно конечно... я наверное туплю по дикому... но не понимаю...

iNils
20.07.2009, 15:11
Допустим у вас есть 4 области, 0-3
|0123
-+----
0|2010
1|0211
2|1120
3|0102
Взяв любые две, например 0 и 3, смотрите на месте пересечения значение, это 0, значит области не соседние. Берем 1 и 2, на пересечении - 1, значит соседние. Ну, а если 2, то вы выбрали одну и туже зону :)
Теперь все это загоняете в двухмерный массив
[[1010],[0111],[1110],[0101]]

glukaviy
27.07.2009, 15:40
iNils, прошу прощения за беспокойство... а нельзя ли кусочек кода для примера? Чтобы потом можно было самому разобраться...
Заранее спасибо большое!

Жень Шень
29.07.2009, 16:57
Привет!
Возможно алгоритм iNils-а более универсален..., но, попробуйте и мой. Вдруг понравится.

glukaviy
29.07.2009, 22:48
Спасибо буду пробовать