Exemplo n.º 1
0
        public void AddDefaults()
        {
            Person p1 = new Person("First", "Stone", new DateTime(1880, 12, 02));
            Person p2 = new Person("Mia", "Humlight", new DateTime(1930, 7, 25));
            Person p3 = new Person("Toma", "Faithful", new DateTime(1945, 2, 27));

            Article[] arts1 = new Article[2];
            arts1[0] = new Article(new Person(), "Title ", 89);
            arts1[1] = new Article(new Person(), "Title 0", 100);
            Article[] arts2 = new Article[2];
            arts2[0] = new Article(p1, "Title 1", 99.9);
            arts2[1] = new Article(p2, "Title 2", 78);
            Article[] arts3 = new Article[2];
            arts3[0] = new Article(p2, "Title 3", 99.9);
            arts3[1] = new Article(p3, "Title 4", 56.9);
            Article[] arts4 = new Article[2];
            arts4[0] = new Article(p1, "Title 5", 76.1);
            arts4[1] = new Article(p2, "Title 6", 66.4);
            Magazine m1 = new Magazine("Some title", Frequency.Weekly, new DateTime(1950, 1, 1), 1200);
            Magazine m2 = new Magazine("Magazine", Frequency.Yearly, new DateTime(1990, 5, 4), 200);
            Magazine m3 = new Magazine("Some other magazine", Frequency.Monthly, new DateTime(2010, 11, 20), 5000);
            Magazine m4 = new Magazine();

            m1.AddArticles(arts3);
            m2.AddArticles(arts2);
            m3.AddArticles(arts4);
            m4.AddArticles(arts1);

            AddToList(m1);
            AddToList(m2);
            AddToList(m3);
            AddToList(m4);
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            //===============================lab1=================================
            /*Magazine magazine = 
                new Magazine("How to find...", Frequency.Yearly, new DateTime(2016, 11, 12), 1, new Article[] {new Article()});


            Console.WriteLine("Yarly: " + magazine[Frequency.Yearly]);
            Console.WriteLine("Monthly: " + magazine[Frequency.Montly]);
            Console.WriteLine("Weekly: " + magazine[Frequency.Weekly]);

            magazine.Shedule = Frequency.Yearly;
            magazine.Articles = new Article[] {new Article(new Person("Poll", "Tripp", new DateTime(1,1,1)), "Word's war", 6.7)};
            magazine.Edition = 500;
            magazine.Release = DateTime.Now;
            magazine.Title = "Last hope";
            
            Console.WriteLine(magazine);

            Article[] articles = new Article[]
            {
                new Article(new Person("Poll", "Tripp", new DateTime(1,1,1)), "Word's war", 6.7),
                new Article(new Person("Mia", "Ogliche", new DateTime(1,1,1)), "Girl with lovely heart", 4.3),
                new Article(new Person("Stiv", "Nesh", new DateTime(1,1,1)), "Evangelism", 9.1)
           
            };

            magazine.AddArticles(articles);

            Console.WriteLine(magazine);

            Method();
       
            Console.ReadLine();*/

            //================================Lab2=====================
            Edition ed1 = new Edition();
            Edition ed2 = new Edition();
            Console.WriteLine("ed1 equals ed2 {0}\n{1} - reference equals.", ed1.Equals(ed2), Object.ReferenceEquals(ed1, ed2));
            try
            {
                ed1.Edition = -1;
            }
            catch (Exception ex)
            {
                Console.WriteLine("Circulation can not be negative!\n" + ex.Message);
            }

            Article[] arts3 = new Article[2];
            arts3[0] = new Article(p1, "Title 1", 99.9);
            arts3[1] = new Article();
            Article[] arts4 = new Article[2];
            arts4[0] = new Article(p1, "Title 2", 59.9);
            arts4[1] = new Article(p2, "Title 4", 66.4);
            Person[] edtrs = new Person[3];
            edtrs[0] = new Person("Name1", "LastName1", new DateTime(1966, 10, 10));
            edtrs[1] = new Person("Name2", "LastName2", new DateTime(1982, 12, 31));
            edtrs[2] = new Person();

            Magazine m4 = new Magazine("Magazine 1", Frequency.Monthly, new DateTime(2000, 1, 1), 1000);
            m4.AddEditors(edtrs);
            m4.AddArticles(arts3);
            Console.WriteLine("{0},\n{1}", m4.ToString(), m4.EditionProp);

            var deepCopy = (Magazine)m4.DeepCopy();
            m4.Edition = 2000;
            m4.Release = new DateTime(1999, 12, 12);
            m4.AddArticles(arts4);

            Console.WriteLine("m4:\n{0}\nDeep copy:\n{1}", m4.ToString(), deepCopy.ToString());
            Console.WriteLine("Top articles:");
            foreach (Article m in m4.TopArticles(60))
                Console.WriteLine(m.ToString());
            Console.WriteLine("Similar articles:");
            foreach (Article m in m4.SimilarArticles("title"))
                Console.WriteLine(m.ToString());



            Console.WriteLine("\nMagazineEnumerator:");
            foreach (Article art in m4.ArticlesList)
            {
                Console.WriteLine("{0}", art.ToString());
            }

            Console.WriteLine("\nArticles by editors:");
            foreach (Article art in m4.ArticlesByEditors())
                Console.WriteLine(art.ToString());

            Console.WriteLine("\nEditors without articles:");
            foreach (Person p in m4.EditorsWithoutArticles())
                Console.WriteLine(p.ToString());

            //=====================================lab3=================================
          
            MagazineCollection mc = new MagazineCollection();
            mc.AddDefaults();
            //Console.WriteLine("\nMagazines:");
            //mc.ToString();
            Console.WriteLine("\nBy title:");
            mc.SortByTitle();
            Console.WriteLine(mc.ToString());
            Console.WriteLine("By release date:");
            mc.SortByReleaseDate();
            Console.WriteLine(mc.ToString());
            Console.WriteLine("By circulation:");
            mc.SortByCiculation(true);
            Console.WriteLine(mc.ToString());

            Console.WriteLine(mc.maxAverageRating);
            IEnumerable monthly = mc.GetMonthly;
            foreach (Magazine m in monthly)
                Console.WriteLine(m.ToString());
            double minrate = 70;
            Console.WriteLine("rating more than {0}:", minrate);
            List<Magazine> l = mc.RatingGroup(minrate);
            foreach (Magazine m in l)
                Console.WriteLine(m.ToString());
            int quantity = 1000;
            TestCollections collections = new TestCollections(quantity);
            Edition e1 = new Edition();
            e1.Title = e1.Title + "-0";
            Edition e2 = new Edition();
            e2.Title = e2.Title + "-" + (quantity - 1);
            Edition e3 = new Edition();
            e3.Title = e3.Title + "-" + quantity / 2;
            Edition e4 = new Edition();
            e4.Title = e4.Title + "10";

            /*Console.WriteLine("The first: {0}",collections.SearchingTime(e1));
			Console.WriteLine("The last: {0}", collections.SearchingTime(e2));
			Console.WriteLine("The middle: {0}", collections.SearchingTime(e3));
			Console.WriteLine("Not belongs to list: {0}", collections.SearchingTime(e4));*/
            Console.WriteLine("///////////////////////////Lab 4////////////////////");
      
            //==============================lab4=============================================

            MagazineCollection col1 = new MagazineCollection();
            MagazineCollection col2 = new MagazineCollection();

            Listener l1 = new Listener();
            Listener l2 = new Listener();
            col1.MagazineAdded += l1.EventHandler;
            col1.MagazineReplaced += l1.EventHandler;

            col2.MagazineAdded += l2.EventHandler;
            col2.MagazineReplaced += l2.EventHandler;
            col1.MagazineAdded += l2.EventHandler;
            col1.MagazineReplaced += l2.EventHandler;

            col1.collectionName = "Collection 1";
            col2.collectionName = "Collection 2";

            col1.AddDefaults();
            col2.AddDefaults();
            col2[1] = new Magazine();
            col1[3] = new Magazine();
            col1.Replace(2, new Magazine());
            Console.WriteLine("First listener:\n{0}", l1.ToString());

            Console.WriteLine("Second listener:\n{0}", l2.ToString());


            Console.WriteLine("///////////////////////////Lab 5////////////////////");
          
            //=================================lab5=========================

            Magazine mag1 = new Magazine();

            mag1.AddEditors(edtrs);
            mag1.AddArticles(arts3);
            mag1.Title = "Magazine to save";
            mag1.Circulation = 100500;
            mag1.Rate = Frequency.Monthly;
            Magazine mag1Copy = Magazine.DeepCopy(mag1);
            Console.WriteLine("Original object: {0}", mag1.ToString());
            Console.WriteLine("Deepcopy object: {0}", mag1Copy.ToString());
            Console.WriteLine("Type in a name of the file:");
            string file = Console.ReadLine();
            mag1.Load(file);
            Console.WriteLine(mag1.ToString());
            mag1.AddFromConsole();
            mag1.Save(file);
            Console.WriteLine(mag1.ToString());
            Magazine.Load(file, mag1);
            mag1.AddFromConsole();
            Magazine.Save(file, mag1);
            //mag1.Save("mag1.txt");
            /*Magazine mag2 = new Magazine();
			mag2.Load("mag1.txt");
			
			
			Console.WriteLine("Saved object: {0}", mag1.ToString());
			Console.WriteLine("Object from file: {0}", mag2.ToString());

			Magazine mag3 = new Magazine();
			mag3.AddFromConsole();
			*/

            Console.ReadLine();
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            Magazine magazine = new Magazine();

            Console.WriteLine(magazine.ToShortString());

            Console.WriteLine(magazine[FrequencyEnum.Monthly]);
            Console.WriteLine(magazine[FrequencyEnum.Weekly]);
            Console.WriteLine(magazine[FrequencyEnum.Yearly]);

            magazine.name        = "Vogue";
            magazine.frequency   = FrequencyEnum.Monthly;
            magazine.circulation = 3;
            magazine.releaseDate = new DateTime(2021, 1, 31);
            magazine.articles    = new List <Article>()
            {
                new Article(new Person("Maryna", "Gulpak", new DateTime(2000, 4, 24)), "Fashion", 9.8), new Article(new Person("Yuri", "Kuz", new DateTime(1999, 7, 14)), "Models", 7.4)
            };

            Console.WriteLine($"\nMAGAZINE:\n\t{magazine.name}\n\t{magazine.frequency.ToString()}\n\t" +
                              $"{magazine.circulation.ToString()}" +
                              $"\n\t{magazine.releaseDate.ToString()}\n");

            foreach (var element in magazine.articles)
            {
                Console.WriteLine(element.ToString());
            }

            Console.WriteLine($"Average rating: {magazine.AverageRating}");
            magazine.AddArticles(new Article(new Person("Ihor", "Shapovalov", new DateTime(1971, 11, 29)), "Style", 7.9));
            Console.WriteLine(magazine.ToString());
            Console.WriteLine($"Average rating: {magazine.AverageRating}");

            int    nRows, nColumns;
            string strAmount;
            char   separator;

            Console.WriteLine("Please, choose the separator:  ,  /  .  \n");
            separator = Console.ReadKey().KeyChar;
            Console.WriteLine("\nAnd input amount of  rows and  amount of columns with chosen separator\n");
            strAmount = Console.ReadLine();

            var rowsAndColumnsAmount = strAmount.Split(separator);

            nRows    = Convert.ToInt32(rowsAndColumnsAmount.GetValue(0));
            nColumns = Convert.ToInt32(rowsAndColumnsAmount.GetValue(1));

            Article[] articlesOneDimensionalArray = new Article[nRows * nColumns];
            Article[,] articlesTwoDimensionalArray = new Article[nRows, nColumns];
            Article[][] articlesSteppedArray = new Article[nRows][];

            for (int i = 0; i < nRows * nColumns; i++)
            {
                articlesOneDimensionalArray[i] = new Article();
            }

            for (int i = 0; i < nRows; i++)
            {
                for (int j = 0; j < nColumns; j++)
                {
                    articlesTwoDimensionalArray[i, j] = new Article();
                }
            }

            for (int i = 0; i < nRows; i++)
            {
                articlesSteppedArray[i] = new Article[4];
            }
            for (int i = 0; i < nRows; i++)
            {
                for (int j = 0; j < nColumns; j++)
                {
                    articlesSteppedArray[i][j] = new Article();
                }
            }


            Stopwatch sw = new Stopwatch();

            sw.Start();
            long start1, result1, start2, result2, start3, result3;

            start1 = sw.ElapsedTicks;

            double startTimeOneDimensionalArray = Environment.TickCount;

            for (int i = 0; i < nRows * nColumns; i++)
            {
                articlesOneDimensionalArray[i].Name = "Mykola";
            }
            result1 = sw.ElapsedTicks - start1;
            sw.Stop();
            double endTimeOneDimensionalArray = Environment.TickCount;

            sw.Start();
            start2 = sw.ElapsedTicks;
            double startTimeTwoDimensionalArray = Environment.TickCount;

            for (int i = 0; i < nRows; i++)
            {
                for (int j = 0; j < nColumns; j++)
                {
                    articlesTwoDimensionalArray[i, j].Name = "Mykola";
                }
            }
            double endTimeTwoDimensionalArray = Environment.TickCount;

            result2 = sw.ElapsedTicks - start2;

            sw.Start();
            start3 = sw.ElapsedTicks;
            double startTimeSteppedArray = Environment.TickCount;

            for (int i = 0; i < nRows; i++)
            {
                for (int j = 0; j < nColumns; j++)
                {
                    articlesSteppedArray[i][j].Name = "Mykola";
                }
            }
            double endTimeSteppedArray = Environment.TickCount;

            result3 = sw.ElapsedTicks - start2;

            /*int resultTimeOneDimensionalArray = endTimeOneDimensionalArray - startTimeOneDimensionalArray;
             * int resultTimeTwoDimensionalArray = endTimeTwoDimensionalArray - startTimeTwoDimensionalArray;
             * int resultTimeSteppedArray = endTimeSteppedArray - startTimeSteppedArray;*/

            Console.WriteLine($"Rows: {nRows}\nColumns: {nColumns}\n\nOneDimensionalArrayTime: {result1} ms\n" +
                              $"TwoDimensionalArrayTime: {result2} ms\nSteppedArrayTime: {result3} ms");
        }