Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // We are given 5 integer numbers. Write a program
- // that checks if the sum of some subset of them is 0.
- // Example: 3, -2, 1, 1, 8 -> 1+1-2=0.
- using System;
- class SumOfSubset
- {
- static void Main()
- {
- int[] numbers = new int[5] { 3, -2, 1, 1, 8 };
- int[] subset = new int[5];
- int count = 0;
- int sum = 0;
- for (int i = 0; i < numbers.Length; i++)
- {
- sum = numbers[i];
- subset[count] = numbers[i]; // place each number in subset array
- for (int j = i + 1; j < numbers.Length; j++)
- {
- count++;
- sum += numbers[j];
- subset[count] = numbers[j];
- if (sum == 0)
- {
- break;
- }
- }
- if (sum == 0)
- {
- break;
- }
- else
- {
- for(int j = 0; j < subset.Length; j++)
- {
- subset[j] = 0;
- }
- }
- count = 0;
- }
- if (sum == 0)
- {
- Console.WriteLine("Found subset!");
- for (int i = 0; subset[i] != 0; i++)
- {
- if (i == 0)
- {
- Console.Write("{0} ", subset[i]);
- }
- if (i > 0)
- {
- if (subset[i] < 0)
- {
- Console.Write("{0} ", subset[i]);
- }
- else
- {
- Console.Write("+ {0} ", subset[i]);
- }
- }
- }
- Console.WriteLine("= {0}", 0);
- }
- else
- {
- Console.WriteLine("No subset found!");
- }
- Console.WriteLine();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement