Top.Mail.Ru
Ответы
Аватар пользователя
7лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Поможет кто с программированием в c#?

Больше недели уже не могу решить эту задачу:
От парка поступил срочный заказ на разработку информационной системы, которая поможет рабочим пересилить животных южных стран из летних вольеров в зимние. При этом соблюдая правила- не селить хищников с травоядными и не допускать переполнение вольера (не более двух особей в одном вольере). Необходимо создать структуры ЗООПАРК (Zoo), ВОЛЬЕР (Cage), ЖИВОТНОЕ (Animal). Зоопарк содержит поля: title и коллекцию вольеров (List). Вольер: номер, тип (теплый, холодный), коллекцию животных (List), проживающих в нем (не более двух). Животное: кличка, тип (теплолюбивое, морозоустойчивое), хищное или нет. В основной программе создайте зоопарк с несколькими вольерами и разместите животных в случайном порядке по вольерам. Далее напишите алгоритм программы, который пройдет по всем клеткам зоопарка и проверит не находятся ли животные не в своем вольере (Например, хищник с травоядным, или теплолюбивое животное в холодном вольере). Если таковые случаи имеют место быть, то необходимо вывести их количество.

Заранее благодарю.

По дате
По рейтингу
Аватар пользователя
Просветленный
7лет

class Program
{
class Zoo
{
public string title;
public List cages = new List();

public Zoo(string title)
{
this.title = title;
}
public int outofplace()
{
int res = 0;
for (int i = 0; i < cages.Count; i++) if (!cages[i].IsValid) res++;
return res;
}
}
class Cage
{
static int id = 0;
public int number = id++;
public bool warm;//true - теплое
public List animals = new List();

public Cage(bool warm)
{
this.warm = warm;
}
public bool IsValid
{
get
{
if (animals.Count > 2) return false;
for (int i = 0; i < animals.Count; i++) if (this.warm != animals[i].thermophilic) return false;
if (animals.Count == 2) if (animals[0].predator != animals[1].predator) return false;
return true;
}
}
}
struct Animal
{
public string name;
public bool thermophilic;//true - теплолюбивые
public bool predator;//true - хищник

public Animal(string name, bool thermophilic, bool predator)
{
this.name = name;
this.thermophilic = thermophilic;
this.predator = predator;
}
}
static void Main(string[] args)
{
Zoo zoo = new Zoo("300парк");
zoo.cages.Add(new Cage(true));
zoo.cages.Add(new Cage(false));
//zoo.cages[0].animals.Add(new Animal("Кролик", false, false));
zoo.cages[1].animals.Add(new Animal("Кролик", false, false));
int count = zoo.outofplace();
Console.WriteLine((count == 0) ? "Все звери по местам" : string.Format("Не наместе {0} животных", count));
Console.ReadKey();
}
}

Аватар пользователя
Мыслитель
7лет

А чего там решать? Садись да пиши.