Advertisement
ToDiR0S

ZeroSubsets

Jul 19th, 2015
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.37 KB | None | 0 0
  1. // 12. We are given 5 integer numbers. Write a program that finds all subsets of these numbers whose sum is 0.
  2. // Assume that repeating the same subset several times is not a problem.
  3.  
  4. using System;
  5.  
  6. class ZeroSubsets
  7. {
  8.     static void Main()
  9.     {
  10.         Console.Write("Enter a line of 5 numbers: ");
  11.         string[] line = Console.ReadLine().Split();
  12.         int[] numbers = new int[5];
  13.         int subset = 0;
  14.         int sum = 0;
  15.         byte counter = 0;
  16.  
  17.         for (int i = 0; i < numbers.Length; i++)
  18.         {
  19.             numbers[i] = int.Parse(line[i]);
  20.         }
  21.  
  22.         sum = numbers[0];
  23.  
  24.         for (int i = 0; i < numbers.Length - 1; i++)
  25.         {
  26.             for (int y = i + 1; y < numbers.Length; y++)
  27.             {
  28.                 subset = sum + numbers[y];
  29.  
  30.                 if (subset == 0)
  31.                 {
  32.                     counter++;
  33.  
  34.                     Console.Write(numbers[i]);
  35.                     for (int z = i + 1; z <= y; z++)
  36.                     {
  37.                         Console.Write(" + ");
  38.                         Console.Write(numbers[z]);
  39.                     }
  40.                     Console.WriteLine(" = {0}", subset);
  41.                 }
  42.             }
  43.  
  44.             sum = sum + numbers[i + 1];
  45.         }
  46.  
  47.         if (counter == 0)
  48.         {
  49.             Console.WriteLine("No zero subsets!");
  50.         }
  51.     }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement