IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Множество городов
REC0N
сообщение 14.04.2010 23:23
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской
Реальное имя: Миша

Репутация: -  0  +


Итак, тут такая проблема, данное условие задачи, которая мне не очень понятна, может кто
знает лучше формулировку этой задачи или объяснит ее по более простому.
Условие:

type state = (a,b,c,d,e,g,h);
states = set of state;
routs = array [state] of states.

Описать процедуру motexist (r,n,k), которая по рейсам r (r[x] - множество городов в которые можно
за один рейс доехать автобусом из города x) определяет k - множество городов в которые можно
попасть автобусом (за один рейс или через другие города) из города n.

Помогите с началом програми,а то идей нету
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 15.04.2010 4:22
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Вот как-то так можно, наверное..
procedure motexist(var r: routs; n: state; var k: states);
var
i: state;
begin
k:=r[n];
for j:=Low(state) to Pred(High(state)) do
for i:=Low(state) to High(state) do
if i in k then k:=k+r[i]
end;


Наверняка можно оптимизировать, но это уже не
Цитата(REC0N @ 15.04.2010 0:23) *
Помогите с началом програми,а то идей нету

smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
REC0N
сообщение 15.04.2010 11:09
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской
Реальное имя: Миша

Репутация: -  0  +


Цитата(Lapp @ 15.04.2010 4:22) *

Вот как-то так можно, наверное..
procedure motexist(var r: routs; n: state; var k: states);
var
i: state;
begin
k:=r[n];
for j:=Low(state) to Pred(High(state)) do
for i:=Low(state) to High(state) do
if i in k then k:=k+r[i]
end;


Наверняка можно оптимизировать, но это уже не

smile.gif

Пасиб,будем оптимизировать
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 15.04.2010 11:21
Сообщение #4


Гость






Ты компилятор сначала поменяй, оптимизатор... В PascalABC твоем любимом это работать не будет... Там, в принципе, НИЧЕГО работать со множествами (равно как и с перечислимыми типами) не будет. Ты уже в этом убедился, кажется? smile.gif
 К началу страницы 
+ Ответить 
REC0N
сообщение 15.04.2010 11:55
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской
Реальное имя: Миша

Репутация: -  0  +


Цитата(volvo @ 15.04.2010 11:21) *

Ты компилятор сначала поменяй, оптимизатор... В PascalABC твоем любимом это работать не будет... Там, в принципе, НИЧЕГО работать со множествами (равно как и с перечислимыми типами) не будет. Ты уже в этом убедился, кажется? smile.gif

Да rolleyes.gif rolleyes.gif rolleyes.gif rolleyes.gif rolleyes.gif rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 1.06.2024 5:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"