Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.30 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Mnogo_sum_gotin
  8. {
  9.     class Obicham_alkohol1
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             var spisak = new Spisak<string>();
  14.             while (true)
  15.             {
  16.                 var vhod = Console.ReadLine().Split().ToList();
  17.                 try
  18.                 {
  19.                     switch (vhod[0])
  20.                     {
  21.                         case ("Add"):
  22.                             {
  23.                                 spisak.Add(vhod[1]);
  24.                                 break;
  25.                             } //добавя даден елемент в края на списъка
  26.                         case ("Remove"):
  27.                             {
  28.                                 Console.WriteLine(spisak.Remove(int.Parse(vhod[1])));
  29.                                 break;
  30.                             } //премахва елемента, намиращ се на указаната позиция
  31.                         case ("Contains"):
  32.                             {
  33.                                 Console.WriteLine((spisak.Contains(vhod[1])));
  34.                                 break;
  35.                             }//oтпечатва дали списъкът съдържа даден елемент(True или False)
  36.                         case ("Swap"):
  37.                             {
  38.                                 spisak.Swap(int.Parse(vhod[1]), int.Parse(vhod[2]));
  39.                                 break;
  40.                             } //разменя местата на елементите с указаните индекси
  41.                         case ("Greater"):
  42.                             {
  43.                                 Console.WriteLine(spisak.CountGreaterThan(vhod[1]));
  44.                                 break;
  45.                             } //преброява елементите, които са по - големи от подадения елемент и отпечатва техния брой
  46.                         case ("Max"):
  47.                             {
  48.                                 Console.WriteLine(spisak.Max());
  49.                                 break;
  50.                             } //отпечатва максималния елемент от списъка
  51.                         case ("Min"):
  52.                             {
  53.                                 Console.WriteLine(spisak.Min());
  54.                                 break;
  55.                             } //отпечатва минималния елемент от списъка
  56.                         case ("Print"):
  57.                             {
  58.                                 spisak.Print();
  59.                                 break;
  60.                             } //отпечатва всички елементи в списъка, всеки на отделен ред
  61.                         case ("END"):
  62.                             { break; } //приключва с четенето на командите
  63.                         default:
  64.                             throw new Exception("Piqn sum");
  65.                     }
  66.                 }
  67.                 catch (Exception e)
  68.                 { //Console.WriteLine("{0} Exception caught.", e);
  69.                     Console.WriteLine("^Nevaliden vhod");
  70.                 }
  71.             }
  72.  
  73.         }
  74.     }
  75. }
  76.  
  77. ///////////////////////////////////////////////////////////////////
  78.  
  79. using System;
  80. using System.Collections;
  81. using System.Collections.Generic;
  82. using System.Linq;
  83. using System.Text;
  84. using System.Threading.Tasks;
  85.  
  86. namespace Mnogo_sum_gotin
  87. {
  88.     public class Spisak<T> where T : IComparable
  89.     {  
  90.         private List<T> spisak = new List<T>();
  91.  
  92.         public void Add(T element)
  93.         {
  94.             this.spisak.Add(element);
  95.         }
  96.         public T Remove(int index)
  97.         {
  98.             List<T> term = new List<T>();
  99.             if(index>spisak.Count)
  100.             {
  101.                 throw new Exception("Moje da sum piqn no broq po-dobre ot teb");
  102.             }
  103.             T returned= spisak[index];
  104.             for (int i = 0; i < spisak.Count; i++)
  105.             {
  106.                 if (i == index)
  107.                     break;
  108.                 term.Add(spisak[i]);
  109.             }
  110.             spisak = term;
  111.             return returned;
  112.         }
  113.         public bool Contains(T element)
  114.         {
  115.             //for (int i = 0; i <spisak.Count; i++)
  116.             //{
  117.             //  if(spisak[i]==element)
  118.             //  {
  119.             //      return true;
  120.             //  }
  121.             //}
  122.             return spisak.Contains(element);  //tujnichko
  123.         }
  124.         public void Swap(int index1, int index2)
  125.         {
  126.             T term = spisak[index1];
  127.             spisak[index1] = spisak[index2];
  128.             spisak[index2] = term;
  129.         }
  130.         public int CountGreaterThan(T element)
  131.         {
  132.             int count = 0;
  133.             for (int i = 0; i < spisak.Count; i++)
  134.             {
  135.                 if (spisak[i].CompareTo(element) > 0)
  136.                     count++;
  137.             }
  138.             return count;
  139.         }
  140.         public T Max()
  141.         {
  142.             T returned = spisak[0];
  143.             for (int i = 1; i < spisak.Count; i++)
  144.             {
  145.                 if (spisak[i].CompareTo(returned) > 0)
  146.                     returned = spisak[i];
  147.             }
  148.             return returned;
  149.         }
  150.         public T Min()
  151.         {
  152.             T returned = spisak[0];
  153.             for (int i = 1; i < spisak.Count; i++)
  154.             {
  155.                 if (spisak[i].CompareTo(returned) < 0) //tui mn qko
  156.                     returned = spisak[i];
  157.             }
  158.             return returned;
  159.         }
  160.         public void Print()
  161.         {
  162.             for (int i = 0; i < spisak.Count; i++)
  163.             {
  164.                 Console.WriteLine(spisak[i]);
  165.             }
  166.         }
  167.     }
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement