tsekotsolov

Letters Change Numbers

Nov 22nd, 2017
646
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.00 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace P08_Letters_Change_Numbers
  5. {
  6.     class Program
  7.     {
  8.         static void Main()
  9.         {
  10.             var input = Console.ReadLine().Split(new[] {' ', '\t' }, StringSplitOptions.RemoveEmptyEntries).ToArray();
  11.  
  12.             var sum = 0.0;
  13.  
  14.  
  15.             for (int i = 0; i < input.Length; i++)
  16.             {
  17.                 var currentString = input[i];
  18.  
  19.  
  20.                 var number = double.Parse((currentString.Substring(1,currentString.Length-2)));
  21.                 var firstLetter = currentString[0];
  22.                 var firstLetterPosition = FindLetterPosinionInAlphabet(firstLetter);
  23.  
  24.                 if (IsUpper(firstLetter))
  25.                 {
  26.                     number /= firstLetterPosition;
  27.                 }
  28.                 else
  29.                 {
  30.                     number *= firstLetterPosition;
  31.                 }
  32.  
  33.                 var lastLetter = currentString[currentString.Length-1];
  34.                 var lastLetterPosition = FindLetterPosinionInAlphabet(lastLetter);
  35.  
  36.                 if (IsUpper(lastLetter))
  37.                 {
  38.                     number -= lastLetterPosition;
  39.                 }
  40.  
  41.                 else
  42.                 {
  43.                     number += lastLetterPosition;
  44.                 }
  45.  
  46.                 sum += number;
  47.  
  48.             }
  49.  
  50.  
  51.             Console.WriteLine($"{sum:f2}");
  52.  
  53.         }
  54.  
  55.         private static bool IsUpper(char letter)
  56.         {
  57.             bool isUpper = letter >= 65 && letter <= 90;
  58.             return isUpper;
  59.            
  60.         }
  61.  
  62.         private static int FindLetterPosinionInAlphabet(char letter)
  63.         {
  64.             bool isUpper = letter >= 65 && letter <= 90;
  65.             var LetterPositioninAlphabet = 0;
  66.  
  67.             if (isUpper)
  68.             {
  69.                 return LetterPositioninAlphabet = letter - 65 + 1;
  70.             }
  71.  
  72.             else
  73.             {
  74.                 return LetterPositioninAlphabet = letter - 97 + 1;
  75.             }
  76.         }
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment