Advertisement
TArtem

dfsdfsd

Feb 26th, 2021
1,308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.19 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4. namespace lab11
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             string[] months = { "January", "February", "March", "April", "May", "June",
  11.                 "July", "August", "September", "October", "November", "December" };
  12.  
  13.             Console.WriteLine("Enter the length of the months");
  14.             int n = System.Convert.ToInt32(Console.ReadLine());
  15.  
  16.             var monthsWithNLetters = from m in months
  17.                                      where m.Length == n
  18.                                      select m;
  19.  
  20.             if (monthsWithNLetters == null)
  21.             {
  22.                 Console.WriteLine($"There are no months with {n} letters.");
  23.             }
  24.             else
  25.             {
  26.                 Console.WriteLine($"Months with {n} letters:");
  27.                 foreach (var m in monthsWithNLetters)
  28.                 {
  29.                     Console.WriteLine(m);
  30.                 }
  31.                 Console.WriteLine();
  32.             }
  33.  
  34.             var selectedSummerMonths = months.Where(m => m == "June" || m == "July" || m == "August");
  35.  
  36.             Console.WriteLine("Summer months: ");
  37.  
  38.             foreach(var m in selectedSummerMonths)
  39.             {
  40.                 Console.WriteLine(m);
  41.             }
  42.             Console.WriteLine();
  43.  
  44.             var selectedWinterMonths = months.Where(m => m == "December" || m == "January" || m == "February");
  45.  
  46.             Console.WriteLine("Winter months: ");
  47.  
  48.             foreach (var m in selectedWinterMonths)
  49.             {
  50.                 Console.WriteLine(m);
  51.             }
  52.             Console.WriteLine();
  53.  
  54.             var alphabeticMonths = from m in months
  55.                                    orderby m
  56.                                    select m;
  57.  
  58.             Console.WriteLine("Months in ascending order:");
  59.  
  60.             foreach(var m in alphabeticMonths)
  61.             {
  62.                 Console.WriteLine(m);
  63.             }
  64.             Console.WriteLine();
  65.  
  66.             var monthsWithULessThanFour = from m in months
  67.                                           where m.Contains('u') && m.Length <= 4
  68.                                           select m;
  69.  
  70.             Console.WriteLine("Months with \"u\" and less than 4 symbols long: ");
  71.  
  72.             foreach(var m in months)
  73.             {
  74.                 Console.WriteLine(m);
  75.             }
  76.             Console.WriteLine();
  77.  
  78.             List<Stack> listOfStacks = new List<Stack>();
  79.  
  80.             Stack stack1 = new Stack();
  81.             stack1.Push(1);
  82.             stack1.Push(-1);
  83.             Stack stack2 = new Stack();
  84.             stack2.Push(3);
  85.             stack2.Push(0);
  86.             Stack stack3 = new Stack();
  87.             stack3.Push(10);
  88.             stack3.Push(-5);
  89.             Stack stack4 = new Stack();
  90.             stack4.Push(7);
  91.             stack4.Push(12);
  92.             Stack stack5 = new Stack();
  93.             stack5.Push(1);
  94.             stack5.Push(-1);
  95.             Stack stack6 = new Stack();
  96.             stack6.Push(15);
  97.             stack6.Push(-2);
  98.             stack6.Push(11);
  99.             stack6.Push(13);
  100.             Stack stack7 = new Stack();
  101.             stack7.Push(3);
  102.             stack7.Push(-14);
  103.             Stack stack8 = new Stack();
  104.             stack8.Push(15);
  105.  
  106.             listOfStacks.Add(stack1);
  107.             listOfStacks.Add(stack2);
  108.             listOfStacks.Add(stack3);
  109.             listOfStacks.Add(stack4);
  110.             listOfStacks.Add(stack5);
  111.             listOfStacks.Add(stack6);
  112.             listOfStacks.Add(stack7);
  113.             listOfStacks.Add(stack8);
  114.  
  115.             var stackWithMinTop = listOfStacks.Where(stack => stack.Peek() == listOfStacks.Select(stack => stack.Peek()).Min());
  116.             Console.WriteLine("Stack with the lowest number on top");
  117.             foreach(var stack in stackWithMinTop)
  118.             {
  119.                 Console.WriteLine(stack);
  120.             }
  121.  
  122.             var stackWithMaxTop = listOfStacks.Where(stack => stack.Peek() == listOfStacks.Select(stack => stack.Peek()).Max());
  123.  
  124.             Console.WriteLine("Stack with the highest number on top");
  125.             foreach (var stack in stackWithMaxTop)
  126.             {
  127.                 Console.WriteLine(stack);
  128.             }
  129.  
  130.             var stacksWithNegativeItems = from stack in listOfStacks
  131.                                           where stack.HasNegativeItems() == true
  132.                                           select stack;
  133.             Console.WriteLine();
  134.  
  135.             Console.WriteLine("Stacks with negative numbers: ");
  136.             foreach(var stack in stacksWithNegativeItems)
  137.             {
  138.                 Console.WriteLine(stack);
  139.             }
  140.             Console.WriteLine();
  141.                
  142.             Console.WriteLine("Stack with minimum amount of numbers: ");
  143.             var minStack = listOfStacks.Where(stack => stack.Count == listOfStacks.Select(stack => stack.Count).Min());
  144.             foreach (var stack in minStack)
  145.             {
  146.                 Console.WriteLine(stack);
  147.             }
  148.  
  149.             Console.WriteLine();
  150.  
  151.             Console.WriteLine("Stack with [1-3] length: ");
  152.             var lengthEquals1To3 = listOfStacks.Where(stack => stack.Count >= 1 && stack.Count <= 3);
  153.             foreach (var stack in lengthEquals1To3)
  154.             {
  155.                 Console.WriteLine(stack);
  156.             }
  157.             Console.WriteLine();
  158.  
  159.             Console.WriteLine("First stack with 0: ");
  160.             var firstStackWith0 = listOfStacks.Where(stack => stack.HasZeros()).First();
  161.             Console.WriteLine(firstStackWith0);
  162.             Console.WriteLine();
  163.  
  164.             Console.WriteLine("Stacks ascending sort depending on sum: ");
  165.             var ascendingSort = listOfStacks.OrderBy(stack => stack.StackSum);
  166.             foreach (var stack in ascendingSort)
  167.             {
  168.                 Console.WriteLine(stack);
  169.             }
  170.             Console.WriteLine();
  171.  
  172.             Console.WriteLine("Months selected with 5 different operators: ");
  173.             var someMonths = months.Where(m => m.Length >= 3).Select(m => m).Skip(1).Intersect(months.Where(m => m.Contains("u")));
  174.             foreach(var m in someMonths)
  175.             {
  176.                 Console.WriteLine(m);
  177.             }
  178.             Console.WriteLine();
  179.  
  180.             Console.WriteLine("Join operator: ");
  181.             Organization org1 = new Organization("Qwerty");
  182.             Organization org2 = new Organization("Asdfgh");
  183.             Organization org3 = new Organization("Zxcvbn");
  184.             Organization[] organizations = new Organization[] { org1, org2, org3 };
  185.  
  186.             Concert[] concerts = new Concert[] { new Concert("Concert 1", org1), new Concert("Concert 2", org2),
  187.                 new Concert("Concert 3", org3) };
  188.  
  189.             var allConcerts = organizations.Join(concerts, organization => organization, concert => concert.org,
  190.                 (organization, concert) => new { orgName = organization.Name, concertName = concert.Name });
  191.  
  192.             foreach(var c in allConcerts)
  193.             {
  194.                 Console.WriteLine($"Organization: {c.orgName}, Concert: {c.concertName}");
  195.             }
  196.         }
  197.     }
  198. }
  199.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement