Advertisement
gospod1978

List-Ex/More/Mixed up Lists

Oct 23rd, 2019
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.40 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4. using System.Text;
  5.  
  6. namespace fundamental14
  7. {
  8.     class MainClass
  9.     {
  10.         public static void Main()
  11.         {
  12.             List<int> lineOne = Console.ReadLine().
  13.                 Split().
  14.                 Select(int.Parse).
  15.                 ToList();
  16.             List<int> lineTwo = Console.ReadLine().
  17.                 Split().
  18.                 Select(int.Parse).
  19.                 ToList();
  20.  
  21.             int minimum, maximum;
  22.  
  23.             MinMax(lineOne, lineTwo, out minimum, out maximum);
  24.  
  25.             Result(lineOne, lineTwo, minimum, maximum);
  26.         }
  27.  
  28.         private static void Result(List<int> lineOne, List<int> lineTwo, int minimum, int maximum)
  29.         {
  30.             List<int> result = new List<int>();
  31.  
  32.             for (int i = 0; i < lineOne.Count; i++)
  33.             {
  34.                 if (lineOne[i] > minimum && lineOne[i] < maximum)
  35.                 {
  36.                     result.Add(lineOne[i]);
  37.                 }
  38.             }
  39.  
  40.             for (int i = 0; i < lineTwo.Count; i++)
  41.             {
  42.                 if (lineTwo[i] > minimum && lineTwo[i] < maximum)
  43.                 {
  44.                     result.Add(lineTwo[i]);
  45.                 }
  46.             }
  47.  
  48.             result = result.OrderBy(x => x).ToList();
  49.  
  50.             Console.WriteLine(string.Join(" ", result));
  51.         }
  52.  
  53.         private static void MinMax(List<int> lineOne, List<int> lineTwo, out int minimum, out int maximum)
  54.         {
  55.             minimum = 0;
  56.             maximum = 0;
  57.             if (lineOne.Count > lineTwo.Count)
  58.             {
  59.                 if (lineOne[lineOne.Count - 1] > lineOne[lineOne.Count - 2])
  60.                 {
  61.                     maximum = lineOne[lineOne.Count - 1];
  62.                     minimum = lineOne[lineOne.Count - 2];
  63.                 }
  64.                 else
  65.                 {
  66.                     maximum = lineOne[lineOne.Count - 2];
  67.                     minimum = lineOne[lineOne.Count - 1];
  68.                 }
  69.             }
  70.             else
  71.             {
  72.                 if (lineTwo[0] > lineTwo[1])
  73.                 {
  74.                     maximum = lineTwo[0];
  75.                     minimum = lineTwo[1];
  76.                 }
  77.                 else
  78.                 {
  79.                     maximum = lineTwo[1];
  80.                     minimum = lineTwo[0];
  81.                 }
  82.             }
  83.         }
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement