Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Столкновение двух поездов 
V
    Опции темы
AndreySS
Дата 26.2.2010, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.2.2010

Репутация: нет
Всего: нет



Есть железная дорога она бесконечна. На ней есть 2 поезда, между ними стоит флаг "солнце". Поезд ничего не знает о другом и наоборот.Каждый поезд запускается в отдельном потоке.

Есть такие операции:

1)Метка
2)goto
3) if("солнце") goto
4)ехать налево
5)ехать направо
6)стоп

Надо написать функцию из вышеперечисленных операций испол-я кот. поезда б столкнулись.Помогите!!!!! smile   

Это сообщение отредактировал(а) AndreySS - 26.2.2010, 18:36
PM MAIL   Вверх
Akina
Дата 26.2.2010, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



И это все операции? мало. 
Независимо от длины программы она получится циклической. А если за время выполнения цикла флаг не встретится, то каждый следующий цикл будет повторять предыдущий либо в том диапазоне, либо с постоянным смещением, причём в одну и ту же сторону. Если флаг в другой стороне для обоих поездов - ничего не получится. 
Нужен либо какой-то счётчик, либо возможность самомодификации программы.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
AndreySS
Дата 26.2.2010, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.2.2010

Репутация: нет
Всего: нет



Флаг находится между поездами.Решение точно есть.
Если они поедут в одно и тоже направление кто-то из них встретит солнце, а как сказать чтоб другой  развернулся т.к. солнце уже другой достиг и ехал в другом направлении не знаю!
PM MAIL   Вверх
Akina
Дата 26.2.2010, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Ааа. Ну тогда:

Код

метка 1:
  вправо
  if флаг goto метка 2
  goto метка 1
метка 2:
  вправо
  goto метка 2


Тот, кто встретит флаг, догонит второго в задницу.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
AndreySS
Дата 26.2.2010, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.2.2010

Репутация: нет
Всего: нет



Ага правильно!!!!только последний goto идет на метку 1.Спасибо большое!!!!!
PM MAIL   Вверх
Akina
Дата 26.2.2010, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(AndreySS @  26.2.2010,  19:36 Найти цитируемый пост)
только последний goto идет на метку 1.

 smile Это ещё зачем?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
AndreySS
Дата 26.2.2010, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.2.2010

Репутация: нет
Всего: нет



С твоего решения один другого не догонит.
Смотри они начнут двигаться вправо.Кто то встретит солнце и перейдет на метку два и будет двигаться вправо , а другой останется в середине метки 1 и тоже будет двигаться вправо. И как тот его в задницу дагонит?
А если так:

 
Код

метка 1:
  вправо
  if флаг goto метка 2
  goto метка 1
метка 2:
  вправо
  goto метка 1


Тот кто встретит солнце на один шаг вправо будет делать больше чем другой.И рано или поздно он его догонит в врежиться.
PM MAIL   Вверх
Akina
Дата 26.2.2010, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(AndreySS @  26.2.2010,  19:59 Найти цитируемый пост)
Смотри они начнут двигаться вправо.Кто то встретит солнце и перейдет на метку два и будет двигаться вправо , а другой останется в середине метки 1 и тоже будет двигаться вправо. И как тот его в задницу дагонит?

А подумать? до того, как он встретит флаг, он делает один шаг за три такта, а после - за два, т.е. ускоряется.
Хочется сделать это более явным? сделай так:
Код

метка 1:
  вправо
  влево
  вправо
  влево
  вправо
  влево
  вправо
  влево
  вправо
  if флаг goto метка 2
  goto метка 1
метка 2:
  вправо
  вправо
  вправо
  вправо
  вправо
  вправо
  вправо
  вправо
  goto метка 2



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
AndreySS
Дата 26.2.2010, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.2.2010

Репутация: нет
Всего: нет



Понятно smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1227 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.