Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //10.Write a program that finds in given array of integers a sequence of given
- //sum S (if present).
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace _10.sequenceGivenSum
- {
- class Program
- {
- static void Main(string[] args)
- {
- int S;
- int sum;
- int firstPos;
- int counter;
- int[] array;
- Input(out S, out sum, out firstPos, out counter, out array);
- for (int i = 0; i < array.Length; i++)
- {
- sum += array[i];
- counter++;
- if (sum==S)
- {
- for (int j = 0; j < counter; j++)
- {
- Console.Write("{0} ",array[firstPos]);
- firstPos++;
- }
- break;
- }
- else
- {
- while (sum>S)
- {
- sum -= array[firstPos];
- firstPos++;
- counter--;
- }
- if (sum == S && counter>0)
- {
- for (int j = 0; j < counter; j++)
- {
- Console.Write("{0} ", array[firstPos]);
- firstPos++;
- }
- return;
- }
- }
- }
- Console.WriteLine("No subsequence sums to {0}", S);
- }
- private static void Input(out int S, out int sum, out int firstPos, out int counter, out int[] array)
- {
- Console.WriteLine("Enter S:");
- S = int.Parse(Console.ReadLine());
- sum = 0;
- firstPos = 0;
- counter = 0;
- Console.WriteLine("Enter the size of the array:");
- int size = int.Parse(Console.ReadLine());
- array = new int[size];
- for (int i = 0; i < array.Length; i++)
- {
- array[i] = int.Parse(Console.ReadLine());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement