# Sum of array Elements without using loops and recursion

Given an array of N elements, the task is to find the Sum of N elements without using loops(for, while & doWhile) and recursion.

Examples:

```Input: arr[]={1, 2, 3, 4, 5}
Output: 15

Input: arr[]={10, 20, 30}
Output: 60
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: Unconditional Jump Statements can be used to solve this problem.

Unconditional Jump Statements:

Jump statements interrupt the sequential execution of statements, so that execution continues at a different point in the program. A jump destroys automatic variables if the jump destination is outside their scope. There are four statements that cause unconditional jumps in C: break, continue, goto, and return.

To solve this particular problem, goto statement can be useful.

goto Statement:
The goto statement is a jump statement which is sometimes also referred to as unconditional jump statement. The goto statement can be used to jump from anywhere to anywhere within a function.
Syntax:

```Syntax1      |   Syntax2
----------------------------
goto label;  |    label:
.                  |    .
.                  |    .
.                  |    .
label:          |    goto label;
```

In the above syntax, the first line tells the compiler to go to or jump to the statement marked as a label. Here label is a user-defined identifier which indicates the target statement. The statement immediately followed after ‘label:’ is the destination statement. The ‘label:’ can also appear before the ‘goto label;’ statement in the above syntax. Below is the implementation of the above approach:

## C++

 `// C++ program to find the sum of ` `// N elements with goto statement ` ` `  `#include ` `using` `namespace` `std; ` ` `  `// Function to perform desired operation ` `int` `operate(``int` `array[], ``int` `N) ` `{ ` `    ``int` `sum = 0, index = 0; ` ` `  `label: ` `    ``sum += array[index++]; ` ` `  `    ``if` `(index < N) { ` ` `  `        ``// backward jump of goto statement ` `        ``goto` `label; ` `    ``} ` ` `  `    ``// return the sum ` `    ``return` `sum; ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` ` `  `    ``// Get N ` `    ``int` `N = 5, sum = 0; ` ` `  `    ``// Input values of an array ` `    ``int` `array[] = { 1, 2, 3, 4, 5 }; ` ` `  `    ``// Find the sum ` `    ``sum = operate(array, N); ` ` `  `    ``// Print the sum ` `    ``cout << sum; ` `} `

## C

 `// C program to find the sum of ` `// N elements with goto statement ` ` `  `#include ` ` `  `// Function to perform desired operation ` `int` `operate(``int` `array[], ``int` `N) ` `{ ` `    ``int` `sum = 0, index = 0; ` ` `  `label: ` `    ``sum += array[index++]; ` ` `  `    ``if` `(index < N) { ` ` `  `        ``// backward jump of goto statement ` `        ``goto` `label; ` `    ``} ` ` `  `    ``// return the sum ` `    ``return` `sum; ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` ` `  `    ``// Get N ` `    ``int` `N = 5, sum = 0; ` ` `  `    ``// Input values of an array ` `    ``int` `array[] = { 1, 2, 3, 4, 5 }; ` ` `  `    ``// Find the sum ` `    ``sum = operate(array, N); ` ` `  `    ``// Print the sum ` `    ``printf``(``"%d"``, sum); ` `} `

## C#

 `// C# program to find the sum of ` `// N elements with goto statement ` `using` `System; ` ` `  `class` `GFG ` `{ ` `// Function to perform desired operation ` `static` `int` `operate(``int``[] array, ``int` `N) ` `{ ` `    ``int` `sum = 0, index = 0; ` ` `  `label: ` `    ``sum += array[index++]; ` ` `  `    ``if` `(index < N) ` `    ``{ ` ` `  `        ``// backward jump of goto statement ` `        ``goto` `label; ` `    ``} ` ` `  `    ``// return the sum ` `    ``return` `sum; ` `} ` ` `  `// Driver Code ` `public` `static` `void` `Main() ` `{ ` ` `  `    ``// Get N ` `    ``int` `N = 5, sum = 0; ` ` `  `    ``// Input values of an array ` `    ``int``[] array = { 1, 2, 3, 4, 5 }; ` ` `  `    ``// Find the sum ` `    ``sum = operate(array, N); ` ` `  `    ``// Print the sum ` `    ``Console.Write(sum); ` `} ` `} ` ` `  `// This code is contributed ` `// by Akanksha Rai `

## PHP

 ` `

Output:

```15
```

My Personal Notes arrow_drop_up If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :

5

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.