Guest User

Untitled

a guest
Jul 15th, 2015
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.83 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Text;
  4.  
  5. namespace FourDigitsNumber
  6. {
  7.     class FourDigitsNumber
  8.     {
  9.         //променливата _number е статична(глобална) за всеки метод, за да няма
  10.         //нуждата да я подавме на всеки метод по отделно
  11.         private static string _number;
  12.  
  13.         //метод който връща сумата на елеметите на string-а
  14.         private static int GetNumbersSum()
  15.         {
  16.             //Избираш всеки елемент от string-а и го парсваш към int и след това ги сумираш
  17.             int numberSum = _number.Select(x => int.Parse(x.ToString())).Sum();
  18.             return numberSum;
  19.  
  20.             //Още едно решение на сумирането
  21.             //int numberSum = 0;
  22.             //for (int number = 0; number < _number.Length; number++)
  23.             //{
  24.             //    numberSum += int.Parse(_number[number].ToString());
  25.             //}
  26.             //return numberSum;
  27.         }
  28.  
  29.         //метод който обръща елементите на string-а
  30.         private static string ReverseNumber()
  31.         {
  32.             //създаваме нова променлива, която е равна на обърнатият нов стринг
  33.             // 1234 = 4321
  34.             string reversedNumber = new string(_number.Reverse().ToArray());
  35.             return reversedNumber;
  36.         }
  37.  
  38.         //метод който по подадени позиции заменя елементите на string-a
  39.         //на пример 1234 искаме да заменим 0-вия елемент с 3-тия
  40.         //SwapNumberPosition(0, 3); и резултата е 4231
  41.         private static string SwapNumberPosition(int currentPosition, int newPosition)
  42.         {            
  43.             StringBuilder numbers = new StringBuilder(_number);
  44.             char numberFoSwap = numbers[newPosition];
  45.             numbers[newPosition] = numbers[currentPosition];
  46.             numbers[currentPosition] = numberFoSwap;
  47.  
  48.             return numbers.ToString();
  49.         }
  50.  
  51.         static void Main(string[] args)
  52.         {
  53.             //четем от конзолата подадения номер
  54.             _number = Console.ReadLine();
  55.  
  56.             //Печатаме на конзолата като в същото време викаме методите
  57.             //които сме създали по - горе
  58.             if (!String.IsNullOrWhiteSpace(_number))
  59.             {
  60.                 Console.WriteLine(GetNumbersSum());
  61.                 Console.WriteLine(ReverseNumber());
  62.                 Console.WriteLine(SwapNumberPosition(0, 3));
  63.             }            
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment