реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Задачка от студента, Пример кода на С++
Verifi
сообщение Apr 22 2009, 08:59
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 315
Регистрация: 5-05-08
Из: Kursk
Пользователь №: 37 282



Кто подскажет правильный путь в реализации сей задачки заданной работающему у нас толковому студенту,он хочет решить её сам ,ведь ему ж потом работать.Вся заморочка как раз с ореентированным графом,кто подскажет код на С++для движения в правильном направлении!Сам в настоящее время тоже пытаю С,хотя в работе всё как то по железу,а проги больше на асме.
В игре участвуют два игрока. Полем для игры служит произвольный ориентированный граф , где V — множество вершин; A — множество дуг (ориентированных ребер). В начале игры в графе G выделяются две произвольные вершины s и t. Далее игроки поочередно выбирают по одной вершине из множества ; вершины, выбранные игроком 1, «окрашиваются» при этом в черный цвет, а выбранные игроком 2 — в белый. Игра продолжается до тех пор, пока не будут окрашены все вершины из множества . Игрок 1 (игрок 2) выигрывает тогда и только тогда, когда в графе G найдется путь (ориентированный маршрут) из s в t, проходящий только через черные (белые) вершины.


--------------------
"Если я в чем-то сомневаюсь, я возвращаюсь к началу"
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 22 2009, 10:06
Сообщение #2


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Задачка-то в чём?
Написать бота, который всегда будет выигрывать?
Или нарисовать саму игрушку?
Или и то и другое?


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Verifi
сообщение Apr 22 2009, 11:37
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 315
Регистрация: 5-05-08
Из: Kursk
Пользователь №: 37 282



Цитата(MrYuran @ Apr 22 2009, 14:06) *
Задачка-то в чём?
Написать бота, который всегда будет выигрывать?
Или нарисовать саму игрушку?
Или и то и другое?

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


--------------------
"Если я в чем-то сомневаюсь, я возвращаюсь к началу"
Go to the top of the page
 
+Quote Post
Rst7
сообщение Apr 22 2009, 11:55
Сообщение #4


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Кто подскажет правильный путь в реализации сей задачки


Я так понимаю, у студента проблемы с нахождением пути? Ну тогда пусть ключевое слово будет A-Star - http://en.wikipedia.org/wiki/A-star_search_algorithm


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Verifi
сообщение Apr 22 2009, 12:50
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 315
Регистрация: 5-05-08
Из: Kursk
Пользователь №: 37 282



Цитата(Rst7 @ Apr 22 2009, 15:55) *
Я так понимаю, у студента проблемы с нахождением пути? Ну тогда пусть ключевое слово будет A-Star - http://en.wikipedia.org/wiki/A-star_search_algorithm

А код в студию подать ....................?????


--------------------
"Если я в чем-то сомневаюсь, я возвращаюсь к началу"
Go to the top of the page
 
+Quote Post
Rst7
сообщение Apr 22 2009, 12:53
Сообщение #6


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
А код в студию подать


А студент уже совсем слабак с псевдокода портировать? Как это коррелирует с
Цитата
работающему у нас толковому студенту


Хуже даже не то, что студент слабоват...


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Verifi
сообщение Apr 22 2009, 13:07
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 315
Регистрация: 5-05-08
Из: Kursk
Пользователь №: 37 282



Цитата(Rst7 @ Apr 22 2009, 16:53) *
А студент уже совсем слабак с псевдокода портировать? Как это коррелирует с


Хуже даже не то, что студент слабоват...

Ага я тут обучал одного вновь принятого с одним,учился на коммерческом программист типа конттроллеров,так он поначалу + с -путал,а про ассемблер тока в книжке читал.Так пока я был в отпуске он спалил все контроллеры что я на проект заказал.


--------------------
"Если я в чем-то сомневаюсь, я возвращаюсь к началу"
Go to the top of the page
 
+Quote Post
stu
сообщение Nov 13 2009, 20:13
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 11-11-09
Пользователь №: 53 561



скажите почему на выходе получаются какие-то непонятные значения???
entity razgon is
Port ( N : inout POSITIVE;
a_pred : inout REAL;
a_tek : inout REAL;
a_schet : inout REAL;
X1 : inout INTEGER range 0 to 10;
X2 : inout INTEGER range 0 to 10;
X3 : inout INTEGER range 0 to 10;
e : inout INTEGER range 0 to 9;
Nmin : inout POSITIVE := 1;
K1 : out STD_LOGIC_VECTOR (1 to 8);
K2 : out STD_LOGIC_VECTOR (1 to 8);
Tg : in STD_LOGIC;
i : inout INTEGER;
A : inout INTEGER range 0 to 7;
a_sr : inout REAL);
end razgon;

architecture Behavioral of razgon is

begin
process(i)
begin
a_sr <= 0.45 * 0.5;
X1 <= X1 + 1;
e <= 0;
while (e < 9) loop
for i in 0 to 9 loop
if (Tg='1') then
A <= i mod 8;
K1(i-A*8) <= '1';
K1(i+1-A*8) <= '1';
K1(i+4-A*8) <= '1';
K1(i+5-A*8) <= '1';
K2(i-A*8) <= '1';
K2(i-1-A*8) <= '1';
K2(i+3-A*8) <= '1';
K2(i+4-A*8) <= '1';
else
K1<="00000000";
K2<="00000000";
end if;
end loop;
a_pred <= a_tek;
a_tek <= a_schet;
if (a_pred = a_tek) then
if (e=9) then
exit;
end if;
end if;
end loop;
end process;
end Behavioral;


--------------------
Мы ведь работаем, чтобы жить, а не живем, чтобы работать??? ;)
Go to the top of the page
 
+Quote Post
Злодей
сообщение Nov 13 2009, 21:26
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 29-04-08
Из: Петербург
Пользователь №: 37 142



1. Выбрать представление для графа: Матрица смежности, цвета хранить прямо в ней. ( 0 - нет ребра, 1 - ребро неокрашено, 2 - закрашено игроком 1, 3 - закрашено игроком 2)

2 Написать чтение входные данных:
2.1 Номера двух вершин:
Игроки будут строить дороги между <номер вершины> и <номер вершины>.
2.2 Описание графа:
<номер вершины> соединена с <номер вершины>
<номер вершины> соединена с <номер вершины>
...
2.3 Действия игроков:
<номер игрока> закрашивает ребро, соединяющее вершины <номер вершины> <номер вершины>.
<номер игрока> закрашивает ребро, соединяющее вершины <номер вершины> <номер вершины>.
...

3. Написать функцию поиска пути в графе, с аргумнетом <цвет закраски>

ЗЫ: С++ это в смысле "сделать в Borland С++ builder 6.0", ага?

Сообщение отредактировал Злодей - Nov 13 2009, 21:27
Go to the top of the page
 
+Quote Post
stu
сообщение Nov 14 2009, 21:58
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 11-11-09
Пользователь №: 53 561



ну а мне помочь, народ wink.gif прогу посмотрите плиз. Если, кто не понял, она на VHDL )

Сообщение отредактировал stu - Nov 14 2009, 22:00


--------------------
Мы ведь работаем, чтобы жить, а не живем, чтобы работать??? ;)
Go to the top of the page
 
+Quote Post
andron86
сообщение Nov 15 2009, 06:12
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Цитата(Verifi @ Apr 22 2009, 13:50) *
А код в студию подать ....................?????

Вам же уже всё Rst7 дал, не пойму в чём проблема, там даже псевдо код есть. Если этого мало, то не понимаю, как можно этого студента "толковым" называть.
Go to the top of the page
 
+Quote Post
stu
сообщение Nov 26 2009, 20:01
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 11-11-09
Пользователь №: 53 561



mad.gif вопчем, большинство проблем решил. осталась одна:
Код
...for i in 0 to 9 loop
if (Tg='1') then
A <= i mod 8;
K1(i-A*8) <= '1';...

почему не принимает K1(i-A*8), а K1(8) допустим, принимает??? компилятор ошибку не выдает, но на симуляции останавливается в момент, когда Т=1 и все, дальше не идет. пробовал заранее посчитать и в скобку подсчитанную переменную писать К(n), эффекта ноль. как быть???


--------------------
Мы ведь работаем, чтобы жить, а не живем, чтобы работать??? ;)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 20:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01471 секунд с 7
ELECTRONIX ©2004-2016