fbinnzhivko

02.01 Detective Boev

May 4th, 2016
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.12 KB | None | 0 0
  1. using System;
  2. class DetectiveBoev
  3. {
  4.     static void Main()
  5.     {
  6.         //Въвеждаме думата
  7.         string word = Console.ReadLine();
  8.         //Въвеждаме съобщението
  9.         string message = Console.ReadLine();
  10.         //Създаваме си променлива за сумата от ASCII кодовете на символите от думата
  11.         int wordSum = 0;
  12.         //Добавяме всяка стойност към сумата
  13.         for (int i = 0; i < word.Length; i++)
  14.         {
  15.             wordSum += (char)word[i];
  16.         }
  17.         //Създаваме променлива, в която запазваме маската.
  18.         int mask = 0;
  19.         //Създавам друга променлива, която е равна на wordSum
  20.         int otherWordSum = wordSum;
  21.         //Въртим цикъл, с условие докато тази сума е по-голяма от 9
  22.         while (otherWordSum > 9)
  23.         {
  24.             //Въртим цикъл, с условие докато тази сума е различна от 0, взимайки всяка цифра от сумата
  25.             while (otherWordSum != 0)
  26.             {
  27.                 mask += otherWordSum % 10;
  28.                 otherWordSum /= 10;
  29.             }
  30.             //Правим тази сума да е равна на маската
  31.             otherWordSum = mask;
  32.             //Ако маската е по-голяма от 9, маската става равна на 0
  33.             if (mask > 9)
  34.             {
  35.                 mask = 0;
  36.             }
  37.         }
  38.         //Създаваме символен празен символен низ, в който пазим крайния резултат
  39.         string final = string.Empty;
  40.         //Създаваме променлива, в която ще пазим стойността на текущия символ
  41.         int currentSymbol = 0;
  42.         for (int i = 0; i < message.Length; i++)
  43.         {
  44.             //Ако остатъкът при деление на ASCII кодът на символ от съобщението с маската е равен на 0, добавяме маската към ASCII кода на символа
  45.             if ((char)message[i] % mask == 0)
  46.             {
  47.                 currentSymbol = (char)message[i] + mask;
  48.                 char symbol = (char)currentSymbol;
  49.                 final += symbol;
  50.             }
  51.             //Иначе изваждаме ASCII кода на маската
  52.             else
  53.             {
  54.                 currentSymbol = (char)message[i] - mask;
  55.                 char symbol = (char)currentSymbol;
  56.                 final += symbol;
  57.             }
  58.         }
  59.         //Превръщаме символният низ с крайния резултат към масив от char-ове
  60.         char[] array = final.ToCharArray();
  61.         //Обръщаме масива в обратен ред
  62.         Array.Reverse(array);
  63.         //Отпечатваме масива
  64.         Console.WriteLine(array);
  65.     }
  66. }
Add Comment
Please, Sign In to add comment