Advertisement
zlatkov

AddNumbersAsArrays

Jan 13th, 2013
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.91 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace AddNumbersAsArrays
  8. {
  9.     class AddNumbersAsArrays
  10.     {
  11.         static int[] ReadNumberAsArray()
  12.         {
  13.             int numberOfDigits = int.Parse(Console.ReadLine());
  14.             int[] digits = new int[numberOfDigits];
  15.  
  16.             for (int i = 0; i < numberOfDigits; ++i)
  17.             {
  18.                 digits[i] = int.Parse(Console.ReadLine());
  19.             }
  20.  
  21.             return digits;
  22.         }
  23.  
  24.         static int[] AddNumbers(int[] firstNumber, int[] secondNumber)
  25.         {
  26.             List<int> result = new List<int>();
  27.  
  28.             int firstNumberLength = firstNumber.GetLength(0);
  29.             int secondNumberLength = secondNumber.GetLength(0);
  30.             int biggerNumberLength = Math.Max(firstNumberLength, secondNumberLength);
  31.             int carry = 0;
  32.  
  33.             for (int i = 0; i < biggerNumberLength; ++i)
  34.             {
  35.                 if (i < firstNumberLength)
  36.                 {
  37.                     carry += firstNumber[i];
  38.                 }
  39.                 if (i < secondNumberLength)
  40.                 {
  41.                     carry += secondNumber[i];
  42.                 }
  43.  
  44.                 result.Add(carry % 10);
  45.                 carry /= 10;
  46.             }
  47.  
  48.             if (carry > 0)
  49.             {
  50.                 result.Add(carry);
  51.             }
  52.  
  53.             return result.ToArray();
  54.         }
  55.  
  56.         static void Main(string[] args)
  57.         {
  58.             int[] firstNumber = ReadNumberAsArray();
  59.             int[] secondNumber = ReadNumberAsArray();
  60.  
  61.             int[] sum = AddNumbers(firstNumber, secondNumber);
  62.  
  63.             int sumLength = sum.GetLength(0);
  64.             for (int i = sumLength - 1; i >= 0; --i)
  65.             {
  66.                 Console.Write(sum[i]);
  67.             }
  68.             Console.Write("\n");
  69.  
  70.         }
  71.     }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement