Advertisement
marto9119

Untitled

May 18th, 2023
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.32 KB | Source Code | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Reflection;
  4.  
  5.  
  6. namespace _10._SoftUni_Course_Planning
  7. {
  8.     internal class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             List<string> listPrograming = Console.ReadLine().Split(", ", StringSplitOptions.RemoveEmptyEntries).ToList();
  13.             List<string> exerciseList = new List<string>();
  14.  
  15.             string stringComand = Console.ReadLine();
  16.  
  17.             while (stringComand != "course start")
  18.             {
  19.                 List<string> ComandList = stringComand.Split(':', StringSplitOptions.RemoveEmptyEntries).ToList();
  20.  
  21.                 if (ComandList[0] == "Add")
  22.                 {
  23.                     //• Add: { lessonTitle} – add the lesson to the end of the schedule, if it does not exist.
  24.                     if (!listPrograming.Contains(ComandList[1]))
  25.                     {
  26.                         listPrograming.Add(ComandList[1]);
  27.                     }
  28.                 }
  29.                 else if (ComandList[0] == "Insert")
  30.                 {
  31.                     //• Insert: { lessonTitle}:{ index} – insert the lesson to the given index, if it does not exist.
  32.                     if (!listPrograming.Contains(ComandList[1]))
  33.                     {
  34.                         listPrograming.Insert(int.Parse(ComandList[2]), ComandList[1]);
  35.                     }
  36.                 }
  37.                 else if (ComandList[0] == "Remove")
  38.                 {
  39.                     //• Remove: { lessonTitle}  – remove the lesson, if it exists.
  40.                     if (listPrograming.Contains(ComandList[1]))
  41.                     {
  42.                         listPrograming.Remove(ComandList[1]);
  43.                     }
  44.  
  45.                 }
  46.                 else if (ComandList[0] == "Swap")
  47.                 {
  48.                     //• Swap: { lessonTitle}:{ lessonTitle} – swap the position of the two lessons, if they exist.
  49.                     if (listPrograming.Contains(ComandList[1]) && listPrograming.Contains(ComandList[2]))
  50.                     {
  51.                         (listPrograming[listPrograming.IndexOf(ComandList[1])], listPrograming[listPrograming.IndexOf(ComandList[2])]) = (listPrograming[listPrograming.IndexOf(ComandList[2])], listPrograming[listPrograming.IndexOf(ComandList[1])]);
  52.                     }
  53.                 }
  54.                 else if (ComandList[0] == "Exercise")
  55.                 {
  56.                     //                Exercise: { lessonTitle} – add Exercise in the schedule right after the lesson index, if the lesson exists and there is no exercise already, in the following format "{lessonTitle}-Exercise".If the lesson doesn`t exist, add the lesson at the end of the course schedule, followed by the Exercise.
  57.                     //Note: Each time you Swap or Remove a lesson, you should do the same with the Exercises, if there are any following the lessons.
  58.                     if (listPrograming.Contains(ComandList[1]))
  59.                     {
  60.                         listPrograming.Insert(listPrograming.IndexOf(ComandList[1]) + 1, ComandList[1] + "-Exercise");
  61.                     }
  62.                     else
  63.                     {
  64.                         listPrograming.Add(ComandList[1]);
  65.                         listPrograming.Add(ComandList[1] + "-Exercise");
  66.  
  67.                     }
  68.  
  69.  
  70.                 }
  71.                 listPrograming = RearrangeExercises(listPrograming);
  72.  
  73.  
  74.  
  75.                // Console.WriteLine(string.Join(", ", listPrograming));
  76.                 stringComand = Console.ReadLine();
  77.             }
  78.  
  79.             for (int i = 0; i < listPrograming.Count; i++)
  80.             {
  81.                 Console.WriteLine("{0}.{1}" , i+1 , listPrograming[i]);
  82.             }
  83.         }
  84.  
  85.         static List<string> RearrangeExercises(List<string> list)
  86.         {
  87.             for (int i = 0; i < list.Count - 1; i++)
  88.                 if (list[i + 1].Contains("-Exercise") && list[i + 1] != list[i] + "-Exercise")
  89.                     for (int j = 0; j < list.Count; j++)
  90.                         if (list[i + 1] == list[j] + "-Exercise")
  91.                         {
  92.                             string temp = list[i + 1];
  93.                             list.RemoveAt(i + 1);
  94.                             list.Insert(j + 1, temp);
  95.                         }
  96.             return list;
  97.         }
  98.     }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement