Advertisement
ivan_yosifov

Subset_In_Array

Nov 13th, 2013
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.92 KB | None | 0 0
  1. // We are given 5 integer numbers. Write a program
  2. // that checks if the sum of some subset of them is 0.
  3. // Example: 3, -2, 1, 1, 8 -> 1+1-2=0.
  4.  
  5.  
  6. using System;
  7.  
  8.  class SumOfSubset
  9. {
  10.     static void Main()
  11.     {
  12.         int[] numbers = new int[5] { 3, -2, 1, 1, 8 };
  13.         int[] subset = new int[5];
  14.         int count = 0;
  15.  
  16.         int sum = 0;
  17.         for (int i = 0; i < numbers.Length; i++)
  18.         {            
  19.             sum = numbers[i];
  20.             subset[count] = numbers[i]; // place each number in subset array
  21.             for (int j = i + 1; j < numbers.Length; j++)
  22.             {
  23.                 count++;
  24.                 sum += numbers[j];
  25.                 subset[count] = numbers[j];
  26.                 if (sum == 0)
  27.                 {
  28.                     break;
  29.                 }
  30.             }
  31.             if (sum == 0)
  32.             {
  33.                 break;
  34.             }
  35.             else
  36.             {
  37.                 for(int j = 0; j < subset.Length; j++)
  38.                 {
  39.                     subset[j] = 0;
  40.                 }
  41.             }            
  42.             count = 0;
  43.         }
  44.        
  45.         if (sum == 0)
  46.         {
  47.             Console.WriteLine("Found subset!");
  48.             for (int i = 0; subset[i] != 0; i++)
  49.             {
  50.                 if (i == 0)
  51.                 {
  52.                     Console.Write("{0} ", subset[i]);
  53.                 }
  54.                 if (i > 0)
  55.                 {
  56.                     if (subset[i] < 0)
  57.                     {
  58.                         Console.Write("{0} ", subset[i]);
  59.                     }
  60.                     else
  61.                     {
  62.                         Console.Write("+ {0} ", subset[i]);
  63.                     }
  64.                 }
  65.             }
  66.             Console.WriteLine("= {0}", 0);
  67.         }
  68.         else
  69.         {
  70.             Console.WriteLine("No subset found!");
  71.         }
  72.  
  73.         Console.WriteLine();
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement