Advertisement
valent1n

exercise-09

Nov 17th, 2013
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.77 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic; // for the List<int> fiveNumbers
  3.  
  4. class SumOfSubset
  5. {
  6.     static void Main()
  7.     {
  8.         /* We are given 5 integer numbers. Write a program that checks if the sum of some subset of them is 0.
  9.          * Example: 3, -2, 1, 1, 8  1+1-2=0.
  10.          */
  11.  
  12.         Console.Write("integer 1: ");
  13.         int first = int.Parse(Console.ReadLine());
  14.         Console.Write("integer 2: ");
  15.         int second = int.Parse(Console.ReadLine());
  16.         Console.Write("integer 3: ");
  17.         int third = int.Parse(Console.ReadLine());
  18.         Console.Write("integer 4: ");
  19.         int fourth = int.Parse(Console.ReadLine());
  20.         Console.Write("integer 5: ");
  21.         int fifth = int.Parse(Console.ReadLine());
  22.         Console.WriteLine();
  23.  
  24.         List<int> fiveNumbers = new List<int> { first, second, third, fourth, fifth }; // list with the five integers
  25.         int sumCounter = 0; // the number of subsets with sum = 0
  26.  
  27.         for (int i = 0; i < fiveNumbers.Count-1; i++) // number + next to it == 0
  28.         {
  29.             if (fiveNumbers[i] + fiveNumbers[i + 1] == 0)
  30.             {
  31.                 Console.WriteLine("{0} + {1} = 0", fiveNumbers[i], fiveNumbers[i + 1]);
  32.                 sumCounter++;
  33.             }
  34.         }
  35.  
  36.         for (int i = 0; i < fiveNumbers.Count-2; i++) // number + next + next == 0
  37.         {
  38.             if (fiveNumbers[i] + fiveNumbers[i + 1] + fiveNumbers[i + 2] == 0)
  39.             {
  40.                 Console.WriteLine("{0} + {1} + {2} = 0", fiveNumbers[i], fiveNumbers[i + 1], fiveNumbers[i + 2]);
  41.                 sumCounter++;
  42.             }
  43.         }
  44.  
  45.         for (int i = 0; i < fiveNumbers.Count-3; i++) // number + next + next + next == 0
  46.         {
  47.             if (fiveNumbers[i] + fiveNumbers[i + 1] + fiveNumbers[i + 2] + fiveNumbers[i + 3] == 0)
  48.             {
  49.                 Console.WriteLine("{0} + {1} + {2} + {3} = 0", fiveNumbers[i], fiveNumbers[i + 1], fiveNumbers[i + 2], fiveNumbers[i + 3]);
  50.                 sumCounter++;
  51.             }
  52.         }
  53.  
  54.         for (int i = 0; i < fiveNumbers.Count - 2; i++) // number + number through 1 == 0
  55.         {
  56.             if (fiveNumbers[i] + fiveNumbers[i + 2] == 0)
  57.             {
  58.                 Console.WriteLine("{0} + {1} = 0", fiveNumbers[i], fiveNumbers[i + 2]);
  59.                 sumCounter++;
  60.             }
  61.         }
  62.  
  63.         for (int i = 0; i < fiveNumbers.Count - 3; i++) // number + number through 2 == 0
  64.         {
  65.             if (fiveNumbers[i] + fiveNumbers[i + 3] == 0)
  66.             {
  67.                 Console.WriteLine("{0} + {1} = 0", fiveNumbers[i], fiveNumbers[i + 3]);
  68.                 sumCounter++;
  69.             }
  70.         }
  71.  
  72.         for (int i = 0; i < fiveNumbers.Count - 4; i++) // number + number through 3 == 0
  73.         {
  74.             if (fiveNumbers[i] + fiveNumbers[i + 4] == 0)
  75.             {
  76.                 Console.WriteLine("{0} + {1} = 0", fiveNumbers[i], fiveNumbers[i + 4]);
  77.                 sumCounter++;
  78.             }
  79.         }
  80.        
  81.         for (int i = 0; i < fiveNumbers.Count - 4; i++) // number + number through 1 + number through 1 == 0
  82.         {
  83.             if (fiveNumbers[i] + fiveNumbers[i + 2] + fiveNumbers[i + 4] == 0)
  84.             {
  85.                 Console.WriteLine("{0} + {1} + {2} = 0", fiveNumbers[i], fiveNumbers[i+2], fiveNumbers[i + 4]);
  86.                 sumCounter++;
  87.             }
  88.         }
  89.  
  90.         if (sumCounter == 0) // check how many subsets with sum = 0 there are
  91.         {
  92.             Console.WriteLine();
  93.             Console.WriteLine("There are no subsets with sum = 0.");
  94.         }
  95.         else
  96.         {
  97.             Console.WriteLine();
  98.             Console.WriteLine("Total subsets with sum = 0 are: {0}",sumCounter );
  99.         }
  100.         Console.WriteLine();
  101.  
  102.     }
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement