Ejemplo n.º 1
0
 static void Main(string[] args)
 {
     string input = "input.txt"; //Входной файл.
     string output = "output.txt"; //Входной файл.
     string tempLine = string.Empty; //Строка-буфер.
     StreamReader RFile = new StreamReader(input); //Открываем поток на чтение.
     StreamWriter WFile = new StreamWriter(output); //Открываем поток на чтение.
     Fish[] fish = new Fish[1000]; //Создаем 1000 экземпляров класса рыб.
     Bird[] bird = new Bird[1000]; //Создаем 1000 экземпляров класса птиц.
     Fish_Stack FStack = new Fish_Stack(); //Создаем стек рыб.
     Bird_Stack BStack = new Bird_Stack(); //Создаем стек птиц.
     int indexOfFish = 0; //Индекс для рыб.
     int indexOfBird = 0; //Индекс для птиц.
     while ((tempLine = RFile.ReadLine()) != null)
     { //Считываем файл до конца.
         if (tempLine.Length == 1 && Char.IsDigit(tempLine, 0) == true) //Ищем строку с типом животного (рыба/птица)
         {
             if (tempLine == "1") //Если рыба, то
             {
                 fish[indexOfFish] = new Fish(); //Создаем объект рыба.
                 fish[indexOfFish].Read(RFile); //Считываем данные в рыбу =).
                 FStack.Add(fish[indexOfFish]); //Добавляем объект в стек рыб.
                 indexOfFish++; //Увеличиваем индекс, чтобы перейти к следующей рыбе.
             }
             if (tempLine == "2") //Если птица, то
             {
                 bird[indexOfBird] = new Bird(); //Создаем объект птица.
                 bird[indexOfBird].Read(RFile); //Считываем данные в птицу =).
                 BStack.Add(bird[indexOfBird]);  //Добавляем объект в стек птиц.
                 indexOfBird++; //Увеличиваем индекс, чтобы перейти к следующей птице.
             }
         }
     }
     FStack.Print(WFile); //Поток со стека рыб записываем в файл.
     BStack.Print(WFile); //Поток со стека птиц записываем в файл.
     RFile.Close(); //Закрываем поток чтения.
     WFile.Close(); //Закрываем потом записи.
 }
Ejemplo n.º 2
0
        Node top; //Первый узел.

        #endregion Fields

        #region Methods

        //Метод добавления нового узла.
        public void Add(Bird value)
        {
            Node tmp = new Node();
            tmp.data = value;
            tmp.next = top;
            top = tmp;
        }