Exemplo n.º 1
0
 /// <summary>
 /// Wczytuje zbiór ucz¹cy ze strumienia.
 /// </summary>
 /// <param name="stream">Strumieñ zawieraj¹cy zbiór ucz¹cy</param>
 /// <exception cref="ApplicationException">Strumieñ ma nieprawid³owy format.
 /// </exception>
 /// <returns>Wczytany zbiór ucz¹cy lub <c>null</c>, jeœli strumieñ jest pusty.
 /// </returns>
 public static TeachingSet FromStream(Stream stream)
 {
     using (StreamReader sr = new StreamReader(stream))
     {
         return(TeachingSet.FromText(sr));
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Wczytuje zbiór ucz¹cy z pliku.
 /// </summary>
 /// <param name="fileName">Nazwa pliku.</param>
 /// <exception cref="ApplicationException">Plik ma nieprawid³owy format.
 /// </exception>
 /// <returns>Wczytany zbiór ucz¹cy lub <c>null</c>, jeœli plik jest pusty.
 /// </returns>
 public static TeachingSet FromFile(string fileName)
 {
     using (StreamReader sr = new StreamReader(fileName))
     {
         return(TeachingSet.FromText(sr));
     }
 }
Exemplo n.º 3
0
 public TeachingSet(TeachingSet set) : base(set.Count)
 {
     _inputCount  = set._inputCount;
     _outputCount = set._outputCount;
     foreach (Element elem in set)
     {
         Add(elem.Clone());
     }
 }
Exemplo n.º 4
0
        /// <summary>
        /// Interpretuje podany tekst jako opis zbioru ucz¹cego.
        /// </summary>
        /// <param name="reader">Obiekt odczytuj¹cy tekst.</param>
        /// <exception cref="ApplicationException">Tekst ma nieprawid³owy format.
        /// </exception>
        /// <returns>Wczytany zbiór ucz¹cy lub <c>null</c>, jeœli tekst jest pusty.
        /// </returns>
        public static TeachingSet FromText(TextReader reader)
        {
            try
            {
                // Pierwsza linia - wymiary sieci.
                string line = reader.ReadLine();
                if (line == null)
                {
                    return(null);
                }

                string[] fields = line.Split(',');
                if (fields.Length != 2)
                {
                    throw new ApplicationException("First line must contain two numbers.");
                }
                int inputCount  = int.Parse(fields[0]);
                int outputCount = int.Parse(fields[1]);

                TeachingSet ret = new TeachingSet(inputCount, outputCount);

                // Poszczególne obiekty.
                while ((line = reader.ReadLine()) != null)
                {
                    Element elem;
                    elem.Comment = line;

                    elem.Inputs =
                        ParseLine(reader, inputCount, "Invalid number of inputs.");
                    if (elem.Inputs == null)
                    {
                        break;
                    }

                    elem.ExpectedOutputs =
                        ParseLine(reader, outputCount, "Invalid number of outputs.");
                    if (elem.ExpectedOutputs == null)
                    {
                        break;
                    }

                    ret.Add(elem);
                }
                return(ret);
            }
            catch (ApplicationException) { throw; }
            catch (Exception ex)
            {
                throw new ApplicationException("The file is corrupted.", ex);
            }
        }