Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Prodentim Probiotics Specially Designed For The Health Of Your Teeth And Gums

Instant Grammar Checker - Correct all grammar errors and enhance your writing

Teach Your Child To Read

Powerful WordPress hosting for WordPress professionals

Disclosure: My content contains affiliate links.

31,128 questions

40,777 answers

573 users

How to find the subarray whose sum is equal to a given number N in C#

1 Answer

0 votes
using System;

public class Program 
{
	private static void PrintSubarrayWithSumEqualToN(int[] arr, int N) {
		int size = arr.Length;

		for (int i = 0; i < size; i++) {
			int current_sum = arr[i];

			if (current_sum == N) {
				Console.Write("Sum found at index: " + i);
				return;
			}
			else {
					for (int j = i + 1; j < size; j++) {
						current_sum += arr[j];

						if (current_sum == N) {
							Console.WriteLine("Sum found between index " + i + " and " + j);
							for (int k = i; k <= j; k++) {
								Console.Write(arr[k] + " ");
							}
							return;
						}
					else if (current_sum > N) {
							break;
					    }
					}
			}
		}
		Console.Write("No subarray found");
	}

	public static void Main(string[] args)
	{
	    int[] arr = new int[] {2, 5, 8, 9, 1, 7, 12, 21, 19};

	    int N = 52;

		PrintSubarrayWithSumEqualToN(arr, N);
	}
}




/*
run:
 
Sum found between index 6 and 8
12 21 19 
 
*/

 





answered Sep 26, 2022 by avibootz
...