**Write a Modular C Programming code to find out the count of apple and orange fruits, which will fall on the Roof of Ram’s house.**

Ram’s house has an apple tree and an orange tree. In the diagram below, the red region denotes his house, where s is the start point, and t is the endpoint. The apple tree is to the left of his house, and the orange tree is to its right. You can assume the trees are located on a single point, where the apple tree is at point a, and the orange tree is at point b.

When a fruit falls from its tree, it lands d units of distance from its tree of origin along the x-axis. A negative value of d means the fruit fell d units to the tree’s left, and a positive value of d means it falls d units to the tree’s right. Given the value of d for 3 apples and 3 oranges, determine how many apples and oranges will fall on Ram’s house (i.e., in the inclusive range [s,t]?

**ANALYSIS:**

- In the given problem we need to find out the count of apple and orange fruits, which will fall on the roof of Ram’s house.
- Variables ‘s’ & ‘t’ represents the roof width of the house.
- Get the distance ‘d’ of fruit from the corresponding tree.
- Check whether ‘d’ is in between ‘s’ & ‘t’ so that fruit falls on the roof and increment the counter.

We must repeat steps 3 and 4 for all distances ‘d’ of fruits.

So we need to do a repetition of operations as mentioned in steps 3 and 4.

**Input Format**

s t – width of Ram’s house roof (range)

a b – points on the x-axis where the apple and orange trees are there in the house yard.

m n – number of apples and oranges fall from respective trees.

d d d . . . – a distance of each apple filling.

d d d . . . – a distance of each orange falling.

**Constraints**

1 ≤ s,t, a, b, m, n ≤ 100000

-100000 ≤ d ≤ 100000

a < s < t < b

A negative value of d means the fruit falls d units to the tree’s left, and a positive value of d means it falls d units to the tree’s right.

**Output Format**

Counts of apples and oranges fall on Ram’s house.

**Sample Input 0**

```
7 11
5 15
3 2
-2 2 1
5 -6
```

**Sample Output 0**

```
Apple count = 1
Orange count = 1
```

**Sample Input 1**

```
7 11
8 15
```

**Sample Output 1**

```
Invalid input
```

**Sample Input 2**

```
15 20
3 30
5 5
10 11 12 13 14
-10 -11 -12 -13 -14
```

**Sample Output 2**

```
Apple count = 3
Orange count = 5
```

**Refer :** C Programming HackerRank all solutions for Loops | Arrays | strings

**CODE:**

#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int main() { int i,s,t,a,b,x,y,z,w,m,n,d1[100],d2[100],count=0,count1=0; scanf("%d%d",&s,&t); scanf("%d%d",&a,&b); scanf("%d%d",&m,&n); if(s>a&&t<b&&t>s) { for(i=0;i<m;i++) { scanf("%d",&d1[i]); } for(i=0;i<n;i++) { scanf("%d",&d2[i]); } for(i=0;i<m;i++) { if(d1[i]>0) { x=s-a; w=t-a; if(d1[i]>=x&&d1[i]<=w) { count++; } } } for(i=0;i<n;i++) { if(d2[i]<0) { y=t-b; z=s-b; if(d2[i]<=y&&d2[i]>=z) { count1++; } } } printf("Apple count = %d\n",count); printf("Orange count = %d",count1); } else printf("Invalid input"); }

**OUTPUT**

Congratulations, you passed the sample test case. Click the Submit Code button to run your code against all the test cases. Input (stdin) 7 11 5 15 3 2 -2 2 1 5 -6 Your Output (stdout) Apple count = 1 Orange count = 1 Expected Output Apple count = 1 Orange count = 1

**Please find some more codes of Loops, Condition Statements, 1D Arrays, 2D Arrays, Strings, Pointers, Data Structures, Files, Linked lists, MISC, Solved model question papers & Hacker Rank all solutions on the below page:**