Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Mnogo_sum_gotin
- {
- class Obicham_alkohol1
- {
- static void Main(string[] args)
- {
- var spisak = new Spisak<string>();
- while (true)
- {
- var vhod = Console.ReadLine().Split().ToList();
- try
- {
- switch (vhod[0])
- {
- case ("Add"):
- {
- spisak.Add(vhod[1]);
- break;
- } //добавя даден елемент в края на списъка
- case ("Remove"):
- {
- Console.WriteLine(spisak.Remove(int.Parse(vhod[1])));
- break;
- } //премахва елемента, намиращ се на указаната позиция
- case ("Contains"):
- {
- Console.WriteLine((spisak.Contains(vhod[1])));
- break;
- }//oтпечатва дали списъкът съдържа даден елемент(True или False)
- case ("Swap"):
- {
- spisak.Swap(int.Parse(vhod[1]), int.Parse(vhod[2]));
- break;
- } //разменя местата на елементите с указаните индекси
- case ("Greater"):
- {
- Console.WriteLine(spisak.CountGreaterThan(vhod[1]));
- break;
- } //преброява елементите, които са по - големи от подадения елемент и отпечатва техния брой
- case ("Max"):
- {
- Console.WriteLine(spisak.Max());
- break;
- } //отпечатва максималния елемент от списъка
- case ("Min"):
- {
- Console.WriteLine(spisak.Min());
- break;
- } //отпечатва минималния елемент от списъка
- case ("Print"):
- {
- spisak.Print();
- break;
- } //отпечатва всички елементи в списъка, всеки на отделен ред
- case ("END"):
- { break; } //приключва с четенето на командите
- default:
- throw new Exception("Piqn sum");
- }
- }
- catch (Exception e)
- { //Console.WriteLine("{0} Exception caught.", e);
- Console.WriteLine("^Nevaliden vhod");
- }
- }
- }
- }
- }
- ///////////////////////////////////////////////////////////////////
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Mnogo_sum_gotin
- {
- public class Spisak<T> where T : IComparable
- {
- private List<T> spisak = new List<T>();
- public void Add(T element)
- {
- this.spisak.Add(element);
- }
- public T Remove(int index)
- {
- List<T> term = new List<T>();
- if(index>spisak.Count)
- {
- throw new Exception("Moje da sum piqn no broq po-dobre ot teb");
- }
- T returned= spisak[index];
- for (int i = 0; i < spisak.Count; i++)
- {
- if (i == index)
- break;
- term.Add(spisak[i]);
- }
- spisak = term;
- return returned;
- }
- public bool Contains(T element)
- {
- //for (int i = 0; i <spisak.Count; i++)
- //{
- // if(spisak[i]==element)
- // {
- // return true;
- // }
- //}
- return spisak.Contains(element); //tujnichko
- }
- public void Swap(int index1, int index2)
- {
- T term = spisak[index1];
- spisak[index1] = spisak[index2];
- spisak[index2] = term;
- }
- public int CountGreaterThan(T element)
- {
- int count = 0;
- for (int i = 0; i < spisak.Count; i++)
- {
- if (spisak[i].CompareTo(element) > 0)
- count++;
- }
- return count;
- }
- public T Max()
- {
- T returned = spisak[0];
- for (int i = 1; i < spisak.Count; i++)
- {
- if (spisak[i].CompareTo(returned) > 0)
- returned = spisak[i];
- }
- return returned;
- }
- public T Min()
- {
- T returned = spisak[0];
- for (int i = 1; i < spisak.Count; i++)
- {
- if (spisak[i].CompareTo(returned) < 0) //tui mn qko
- returned = spisak[i];
- }
- return returned;
- }
- public void Print()
- {
- for (int i = 0; i < spisak.Count; i++)
- {
- Console.WriteLine(spisak[i]);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement