Конференция "Базы" » Программа совместимости рыб [D7]
 
  • Дмитрий (30.08.12 00:12) [0]
    Добрый вечер!

    Дело следующее. Хочу написать программу, которая могла бы помочь новичкам-аквариумистам определять совместимость рыб. Так вот, не могли вы мне оказать помощь как лучше это все соорудить
  • Inovet © (30.08.12 00:20) [1]
    Таблица Рыбы (ИД, Наименование)
    Таблица Совместимость (ИД, ИДРыбы1, ИДРыбы2)
  • Дмитрий (30.08.12 00:26) [2]
    а поподробней можно?
  • Inovet © (30.08.12 00:55) [3]
    > [2] Дмитрий   (30.08.12 00:26)
    > а поподробней можно?

    А что непонятно? Выбрали рыбу из первой таблицы, во второй с какими уживётся. Выбрали из результатов ещё одну рыбу, к ней снова смотрим совместимость с учётом ранее выбранных.
  • Германн © (30.08.12 01:20) [4]

    > Дмитрий   (30.08.12 00:26) [2]
    > а поподробней можно?

    Дайте код?


    > Выбрали из результатов ещё одну рыбу, к ней снова смотрим
    > совместимость с учётом ранее выбранных.

    Это как раз самое сложное :)
  • sniknik © (30.08.12 01:22) [5]
    пираньи совместимы со всеми, а вот все остальные не совместимы с пираньями... деваются куда то.
  • Дмитрий (30.08.12 01:26) [6]
    Да нет еще кода пока, только начинаю, вот и обратился к Вам за помощью
  • Германн © (30.08.12 02:22) [7]

    > sniknik ©   (30.08.12 01:22) [5]
    >
    > пираньи совместимы со всеми

    Вот первая моя мысль была именно такая. :)


    > Дмитрий   (30.08.12 01:26) [6]
    >
    > Да нет еще кода пока, только начинаю, вот и обратился к
    > Вам за помощью
    >

    Кода не дадим. Не надейся. :)
  • Германн © (30.08.12 02:28) [8]
    Кстати.
    Вот тут подумалось. Есть ли общее решение задачи о Волке, козле и капусте?
    :)
  • Дмитрий С © (30.08.12 13:28) [9]

    > Дмитрий   (30.08.12 01:26) [6]
    >
    > Да нет еще кода пока, только начинаю, вот и обратился к
    > Вам за помощью

    Это задача школьного уровня. Вряд ли вам тут помогут.
  • Павел Калугин © (14.09.12 12:45) [10]

    > Дмитрий   (30.08.12 00:12)  
    > Добрый вечер!
    >
    > Дело следующее. Хочу написать программу, которая могла бы
    > помочь новичкам-аквариумистам определять совместимость рыб.
    >  Так вот, не могли вы мне оказать помощь как лучше это все
    > соорудить

    Перечесть Вирта "Алгоритмы + структуры данных = программа"
    Если не сработает - то купить повареную книгу и не мучать больше рыбу..
  • Anatoly Podgoretsky © (14.09.12 13:11) [11]
    > Павел Калугин  (14.09.2012 12:45:10)  [10]

    Не мучать, в жарить.
    Но знания все равно нужны.
  • Guest (15.09.12 19:04) [12]
    Дмитрий, можно сделать так.

    Первая таблица - Рыбы

    ID  Название вида

    1   Рыба1
    2   Рыба2
    3   Рыба3

    ....



    Если видов рыб меньше 10 000, то уникальный идентификатор каждого вида можно представить четырёхзначным десятичным числом.
    Совместимость можно представить десятичным числом от 0 до N.
    Например,
    0 - полностью совместимы.
    1 - совместимы, но их не рекомендуется держать вместе по каким-либо причинам.
    2 - теоретически совместимы, но на практике известны случаи несовместимости.
    3 - не совместимы.
    Следует при запуске программы предупредить пользователя, что безопасно держать рыб вместе только в том случае, если они полностью совместимы, а уровни несовместимости (отличные от нуля) представлены для информации.

    Тогда вторую таблицу можно представить следующим образом.

    Пара      |   Совместимость    | Примечание
    ------------------------------------------------
    00010002  |   0                | Рыбы Рыба1 и Рыба2 совместимы.
    00010003  |   3                | Рыбы Рыба1 и Рыба3 не совместимы.
    00020003  |   1                | Рыбы Рыба2 и Рыба3 совместимы, но...

    ....



    В этом случае коды 00010002 и 00020001 представляют одну пару, поэтому при каждой операции необходимо делать две проверки. При добавлении пар в таблицу следует проверять, нет ли уже такой пары, и удалять повторы. Можно сортировать коды так, чтобы левая часть была всегда меньше правой. Тогда когда пользователь выбирает двух рыб, достаточно найти их в первой таблице, сформировать из их ID код (так, чтобы левая часть была меньше правой) и найти этот код во второй таблице.
    Но конечно этот вариант возможен только если нужно определить совместимость между двумя видами рыб. Если поведение двух видов рыб меняется в зависимости от наличия в аквариуме других видов рыб, тогда всё уже сложнее. А ещё многое зависит от того, какие рыбы - самцы или самки, они могут вести себя по разному. Также некоторые виды рыб рекомендуют держать по-одиночке, других стаями. А вообще не советую вам этот форум. И, судя по вашему посту, вам здесь явно не место.
 
Конференция "Базы" » Программа совместимости рыб [D7]
Есть новые Нет новых   [134430   +2][b:0][p:0.001]