Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> множество стран 
:(
    Опции темы
provod
Дата 20.9.2006, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите задачку на множества разобрать:

По значению s (страна) присвоить переменной st континент, на котором она находиться

  type
     country=(...);
     continent=(...);
  var
      s:country;
      st:continent
 

я так думаю, что смысла вводить все страны нету, просто пару стран с каждого континента 
задать в множестве, а потом в программе определёным странам присвоить значения континентов и
она должна (я так думаю) по названию страны выводить континент на котором она находится.
Список стран программа должна предложить сама. Вот реализовать это я пока не могу...    
PM MAIL   Вверх
Alexeis
Дата 20.9.2006, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Ну думаю проще всего сделать 7 переменных-множествадля каждого континента и хранить в них названия стран ввиде множества;
Чтобы узнать на каком континенте достаточно оператором in проверить по очереди не входит ли страна в данный континент.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
provod
Дата 20.9.2006, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



можна и так конечно только вот названия типов и переменых 
 type
     country=(...);
     continent=(...);
  var
      s:country;
      st:continent

это всё уже есть в самом условии...
PM MAIL   Вверх
Alexeis
Дата 20.9.2006, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



provod, чет я не понял где тут множества
Код

  type
     country=(...);
     continent=(...);
 - это объявление перечисляемого типа, может вообще не использовать множества, или это требуется по условию задачи?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Rodman
Дата 20.9.2006, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



кажется enum используют для описания множества
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Alexeis
Дата 20.9.2006, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(Rodman @  20.9.2006,  14:00 Найти цитируемый пост)
кажется enum используют для описания множества 

Да множество описывается легко
Код

type 
  Tcountry = (Aljir, livia, Egipet);
var
  Country : set of  Tcountry;

Begin
  Country := [Aljir, livia, Egipet];
end;

Но что с ним делать?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
volvo877
Дата 20.9.2006, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

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



alexeis1, вот такой набросок вроде устроил автора:

Код
type
  country = (_england, _france, _japan, _usa, _canada, _panama);
  continent = (_europe, _asia, _n_america, _s_america, _australia);
  set_continent = set of continent;

const
  countries: array[country] of string =
    ('england', 'france', 'japan', 'usa', 'canada', 'panama');
  continents: array[continent] of string =
    ('europe', 'asia', 'north america', 'south america', 'australia');

  world: array[country] of set_continent =
    ([_europe], [_europe], [_asia], [_n_america], [_n_america], [_n_america, _s_america]);

var
  s: country;
  st: continent;

  T: string;
  i_country: country;
  i_continent: continent;

begin

  write('country = '); readln(T);
  for i_country := low(country) to high(country) do
    if countries[i_country] = T then s := i_country;

  for i_continent := low(continent) to high(continent) do
    if i_continent in world[s] then writeln(continents[i_continent]);

end.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

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

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


 




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


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

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