Advertisement
vvsvvs

Untitled

May 17th, 2022
722
134 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. namespace Simple_Text_Editor
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             int numOpper = int.Parse(Console.ReadLine());
  12.             StringBuilder currentText = new StringBuilder(string.Empty);
  13.             StringBuilder printText = new StringBuilder();
  14.             Stack<StringBuilder> stack = new Stack<StringBuilder>();
  15.  
  16.             for (int i = 0; i < numOpper; i++)
  17.             {
  18.                 string[] input = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries);
  19.                 int command = int.Parse(input[0]);
  20.  
  21.                 switch (command)
  22.                 {
  23.                     case 1:
  24.                         stack.Push(currentText);
  25.                         currentText = new StringBuilder(currentText.ToString());
  26.                         currentText.Append(input[1]);
  27.                         break;
  28.                     case 2:
  29.                         stack.Push(currentText);
  30.                         int count = int.Parse(input[1]);
  31.  
  32.                         if (count >= currentText.Length)
  33.                         {
  34.                             currentText = new StringBuilder(string.Empty);
  35.                         }
  36.                         else
  37.                         {
  38.                             string newText = currentText.ToString().Substring(0, currentText.Length - count);
  39.                             currentText = new StringBuilder(newText);
  40.                         }                      
  41.                         break;
  42.                     case 3:
  43.                         int index = int.Parse(input[1]);
  44.                         if (((index - 1) < currentText.Length) && ((index - 1) >= 0))
  45.                         {
  46.                             printText.AppendLine(currentText[index - 1].ToString());
  47.                         }                      
  48.                         break;
  49.                     case 4:
  50.                         currentText = new StringBuilder(stack.Pop().ToString());
  51.                         break;
  52.  
  53.                     default:
  54.                         break;
  55.                 }
  56.             }
  57.             Console.WriteLine(printText.ToString());
  58.         }
  59.     }
  60. }
  61.  
Advertisement
RAW Paste Data Copied
Advertisement