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

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,872 questions

51,796 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
...