Task:
Scan 2 numbers outerNumber and innerNumber. Iterate from [0, outerNumber). Inside that loop, iterate from [0, innerNumber). In the inner iteration print the sum of both the iterators.
Note:
[x, y] means all numbers from x to y including both x and y.
[x, y) means all numbers from x to y excluding y.
(x, y] means all numbers from x to y excluding x.
(x, y) means all numbers from x to y excluding both x and y.
Sample Input:
3 5
Expected Output:
0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
Explanation:
outerIterator=0, innerIterator=0 → 0+0 = 0
outerIterator=0, innerIterator=1 → 0+1 = 1
outerIterator=0, innerIterator=2 → 0+2 = 2
outerIterator=0, innerIterator=3 → 0+3 = 3
outerIterator=0, innerIterator=4 → 0+4 = 4
outerIterator=1, innerIterator=0 → 1+0 = 1
outerIterator=1, innerIterator=1 → 1+1 = 2
outerIterator=1, innerIterator=2 → 1+2 = 3
outerIterator=1, innerIterator=3 → 1+3 = 4
outerIterator=1, innerIterator=4 → 1+4 = 5
outerIterator=2, innerIterator=0 → 2+0 = 2
outerIterator=2, innerIterator=1 → 2+1 = 3
outerIterator=2, innerIterator=2 → 2+2 = 4
outerIterator=2, innerIterator=3 → 2+3 = 5
outerIterator=2, innerIterator=4 → 2+4 = 6//
This is problem statement of the code and below that explanantion is given, but still I didn't understand how the output is coming.
I would be keen to learn how zeros, 1 and 2 are coming 5 times in Outeriterator and same in InnerIterator
Outer is [0,3), so 0,1,2 is the amount of iterations.
Inner is [0,5), so 0,1,2,3,4 iterations.
Each value from outer requires you to run all the inner values once, so the first time for outer = 0 you will have 0,1,2,3,4 because 0 + [0,5) is 0+0, 0+1, 0+2, 0+3, 0+4.
For outer = 1 you will do the same but add 1 instead of 0.
For outer = 2, same thing 2+0,2+1,2+2,2+3,2+4.
In code should be something close to this:
for (i = 0 ; i<3 ; i++){
for (x = 0; x<5; x++){
printf i+x;
}
}
Best of luck to you