Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.11.2010, 09:24
roonet_ вне форума Посмотреть профиль Отправить личное сообщение для roonet_ Найти все сообщения от roonet_
  № 1  
Ответить с цитированием
roonet_

Регистрация: Nov 2010
Сообщений: 24
По умолчанию Помогите решить задачу с массивами (Алгоритм)

дается массив
0 0 0 0
1 1 0 0
1 1 1 0
2 2 3 3
2 0 0 3
на трейс должен выводиться результат, когда указываешь координаты массива допустим 0
то тогда должна выводится:
1 1 1 1
0 0 1 1
0 0 0 1
0 0 0 0
0 0 0 0

Старый 23.11.2010, 10:36
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 2  
Ответить с цитированием
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Непонятно, что вы хотите.

Старый 23.11.2010, 10:50
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 3  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
похоже на решение матрицы из вышки, но я не оч это все помню.
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 23.11.2010, 10:50
roonet_ вне форума Посмотреть профиль Отправить личное сообщение для roonet_ Найти все сообщения от roonet_
  № 4  
Ответить с цитированием
roonet_

Регистрация: Nov 2010
Сообщений: 24
Цитата:
Сообщение от TWETTI Посмотреть сообщение
Непонятно, что вы хотите.
[1, 2, 2, 0], вобщем дается массив. допустим по координатам указываю двоечку то она
[1, 1, 2, 0], должна проверить своих соседей на совпадение
[0, 4, 2, 3], допустим 2->0 то она вовращается назад и ищет
[4, 4, 2, 3], другой путь 2->2 и идет дальше когда находит
[0, 0, 2, 2] совпадение.
хочется реализовать это программно .... help

Старый 23.11.2010, 11:04
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 5  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Алгоритм Ли/волновой алгоритм?
Вообще по-моему с такими обьяснениями - к специалистам другого профиля.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 23.11.2010, 11:14
roonet_ вне форума Посмотреть профиль Отправить личное сообщение для roonet_ Найти все сообщения от roonet_
  № 6  
Ответить с цитированием
roonet_

Регистрация: Nov 2010
Сообщений: 24
Похож на волновой алгоритм но суть заключается в том что числа в массиве ищут путь по себе одинаковым значениям и нужно реализовать это программно

Добавлено через 2 минуты
похож на этот алгоритм http://www.gamedev.ru/articles/?id=70121

Старый 23.11.2010, 13:15
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 7  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Вам нужна разновидность волнового алгоритма, называемая алгоритмом Ли.
За неуважение к русскому (ну и от лени) напишу не её, а вот это)
Код AS3:
package  {
	import flash.display.*;
	public class Main extends Sprite 
	{
		public function Main():void 
		{
			var arr:Array = [[1, 2, 2, 0], 
							[1, 1, 2, 0], 
							[0, 4, 2, 3], 
							[4, 4, 2, 3],
							[0, 0, 2, 2]];
			process(arr, 0, 1);
			for (var i:int = 0; i < arr.length; ++i) {
				trace(arr[i]);
			}
		}
		public function process(arr:Array, row:int, column:int):void {
			var w:int = arr.length;
			var h:int = arr[0].length;
			var startNum:int = arr[row][column];
			for (var i:int = 0; i < w; ++i) {
				for (var j:int = 0; j < h; ++j) {
					if (arr[i][j] == startNum) arr[i][j] = 2;
					else arr[i][j] = 0;
				}
			}
			arr[row][column] = 1;
			var hasProgress:Boolean = true;
			var adds:Array = [[-1,0], [0,-1], [1,0], [0,1]];
			while (hasProgress) {
				hasProgress = false;
				for (i = 0; i < w; ++i) {
					for (j = 0; j < h; ++j) {
						for each(var add:* in adds) {
							var _x:int = i + add[0];
							var _y:int = j + add[1];
							if (_x >= 0 && _y >= 0 && _x < w && _y < h && arr[i][j] == 2 && arr[_x][_y] == 1) {
								hasProgress = true;
								arr[i][j] = 1;
							}
						}
					}
				}
			}
			for (i = 0; i < w; ++i) {
				for (j = 0; j < h; ++j) {
					if (arr[i][j] != 1) arr[i][j] = 0;
				}
			}
		}
	}
}
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:47.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.