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

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

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

Регистрация: Mar 2013
Сообщений: 1,864
По умолчанию Не выполняется цикл while

Вчера до четырёх утра не мог понять, думал, что посплю и увижу причину, но сегодня все так же не могу понять в чем дело. Может чей-то свежий взгляд избавит меня от мучений Вопрос в коде -
И ещё интересно, было ли у кого-нибудь, что FD начинал глючить и что с этим делать? Вчера целый день ушел на поиск ошибки, которой не было, сегодня...
Код AS3:
package 
{
	import flash.display.Sprite;
 
	public class Main extends Sprite 
	{
		private var _array:Array;
 
		public function Main() 
		{
			_array = new Array(1,8,8,9,9,9,3,7,7,7);
 
			trace(selectionSort(_array, comparator))
		}
		private function selectionSort(array:Array, comparator:Function):Array
		{
			var data:*, i:int, j:int, min:int, lenght:int = array.length;
 
			while (i < length)
			{
				min = i;
				j = i;
 
				while (j < length)
				{
					if (array[j++] < array[min])
							min = j - 1;
				}
 
				data = array[min];
				array[min] = array[i];
				array[i] = data;
				i+=1;
			}
 
			trace(lenght); // 10
			var a:int = 0;
 
			while (a++ < length)
					trace(a); // 1 Почему цикл выполняет только одну итерацию?
 
			return array;
		}
 
		public static function comparator(a:Number, b:Number):int
		{
			if (a < b) return -1;
			if (a > b) return 1;
			return 0;
		}
 
		private function random():int
		{
			return Math.random() * 10;
		}
	}
}
Добавлено через 33 минуты
Удалил и заново создал условия в скобках и заработало. Полтора дня ушло на два глюка.

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

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

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


 


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


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