Advertisement
dimipan80

Exam 1. Invert_TheSequence_Bits

Jun 1st, 2014
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.79 KB | None | 0 0
  1. namespace _19.BitsInverter
  2. {
  3.     using System;
  4.  
  5.     public class BitsInverter
  6.     {
  7.         public static void Main(string[] args)
  8.         {
  9.             checked
  10.             {
  11.                 // Reading from Input given Count of numbers in Sequence and number Step:
  12.                 int countNums = int.Parse(Console.ReadLine());
  13.                 int step = int.Parse(Console.ReadLine());
  14.  
  15.                 // Reading from Input the numbers of Sequence and Create Array of Integers:
  16.                 int[] numbers = ReadInputSequenceAndCreateArrayOfIntegers(countNums);
  17.                 int indexInSequence = 0;
  18.                 foreach (var num in numbers)                
  19.                 {
  20.                     int number = num;
  21.                     for (int i = 7; i >= 0; i--)
  22.                     {
  23.                         indexInSequence++;
  24.                         int bitMoving = indexInSequence % step;
  25.  
  26.                         // Create BitMask:
  27.                         int bitMask = 1 << i;
  28.  
  29.                         // Inverting bit on exact position in Sequence:
  30.                         if (step == 1 || bitMoving == 1)
  31.                         {
  32.                             number ^= bitMask;
  33.                         }
  34.                     }
  35.  
  36.                     // Print inverted number:
  37.                     Console.WriteLine(number);
  38.                 }
  39.             }
  40.         }
  41.  
  42.         private static int[] ReadInputSequenceAndCreateArrayOfIntegers(int count)
  43.         {
  44.             checked
  45.             {
  46.                 int[] numbers = new int[count];
  47.                 for (int i = 0; i < numbers.Length; i++)
  48.                 {
  49.                     numbers[i] = int.Parse(Console.ReadLine());
  50.                 }
  51.  
  52.                 return numbers;
  53.             }
  54.         }
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement