Level 1
1.
Take 10 integer inputs from user and store them in an array and print them on screen.
```#include<iostream>
using namespace std;

int main()
{
int a;
for(int i=0;i<10;i++)
{
cout << "Enter a number\n";
cin >> a[i];
}
cout << "Numbers are:\n";
for(int i=0;i<10;i++)
{
cout << a[i] << "\n";
}
return 0;
}
```

2.
Take 10 integer inputs from user and store them in an array. Again ask user to give a number. Now, tell user whether that number is present in array or not.

3.
Take 20 integer inputs from user and print the following:
number of positive numbers
number of negative numbers
number of odd numbers
number of even numbers
number of 0.
```#include<iostream>
using namespace std;

int main()
{
int z;
int pos = 0;
int neg = 0;
int odd = 0;
int even = 0;
int zero = 0;
for(int i=0;i<20;i++)
{
cout << "Enter a number\n";
cin >> z[i];

if(z[i]>0)
pos++;
else if(z[i]<0)
neg++;
else
zero++;
if(z[i]%2==0)
even++;
else
odd++;
}
cout << "Positive " << pos << "\nNegative " << neg <<"\nZero "<<zero<<"\nOdd "<<odd<<"\nEven "<<even<<"\n";
return 0;
}
```

4.
Take 10 integer inputs from user and store them in an array. Now, copy all the elements in another array but in reverse order.
```#include<iostream>
using namespace std;

int main()
{
int a, b;
for(int i=0;i<10;i++)
{
cout << "Enter a number\n";
cin >> a[i];
}
int j = 0;
for(int i=9;i>=0;i--)
{
b[i] = a[j];
j++;
}
for(int i=0;i<10;i++)
{
cout << b[i] << "\n";
}
return 0;
}
```

5.
Write a program to find the sum and product of all elements of an array.

6.
Initialize and print all elements of a 2D array.

7.
Find largest and smallest elements of an array.
```#include<iostream>
using namespace std;

int main()
{
int a[] = {23,6,328,34,12,234,9,23,4,54};
int largest = a;
int smallest = a;

for(int i=0;i<10;i++)
{
if(a[i]>largest)
largest = a[i];
if(a[i]<smallest)
smallest = a[i];
}
cout << "Largest "<<largest<<"\nSmallest "<<smallest<<"\n";
return 0;
}
```

8.
Write a program to check if elements of an array are same or not it read from front or back. E.g.-
 2 3 15 15 3 2
```#include<iostream>
using namespace std;

int main()
{
int a[] = {2,3,15,15,3,2};
int i,j = 5;
for(i =0;i<6/2;i++)
{
if(a[i]!=a[j])
{
break;
}
else
j--;
}
return 0;
}
```

9.
Take an array of 10 elements. Split it into middle and store the elements in two dfferent arrays. E.g.-
INITIAL array :
 58 24 13 15 63 9 8 81 1 78

After spliting :
 58 24 13 15 63
 9 8 81 1 78

10.
Consider an integer array, the number of elements in which is determined by the user. The elements are also taken as input from the user. Write a program to find those pair of elements that has the maximum and minimum difference among all element pairs.

11.
If the input array is [10, 12, 20, 30, 25, 40, 32, 31, 35, 50, 60], your program should be able to find that the subarray lies between the indexes 3 and 8.

12.
Write a program to print sum, average of all numbers, smallest and largest element of an array.

Level 2
1.
Take an array of length n where all the numbers are nonnegative and unique. Find the element in the array possessing the highest value. Split the element into two parts where first part contains the next highest value in the array and second part hold the required additive entity to get the highest value. Print the array where the highest value get splitted into those two parts.
Sample input: 4 8 6 3 2
Sample output: 4 6 2 6 3 2
```#include<iostream>
using namespace std;

int main()
{
int a[] = {4,8,6,3,2};
int b,i;
int highest = a;
int second_highest = a;
int j = 0;
for(i=0;i<5;i++)
{
if(a[i]>highest)
{
highest = a[i];
j = i;
}
}
for(i = 0;i<5;i++)
{
if(a[i]<highest && a[i]>second_highest)
{
second_highest = a[i];
}
}

for(i = 0;i<j;i++)
{
b[i] = a[i];
}
b[j] = second_highest;
b[j+1] = highest-second_highest;
for(i = j+2;i<6;i++)
{
b[i] = a[i-1];
}
for(i = 0;i<6;i++)
{
cout << b[i] << "\n";
}
return 0;
}
```

2.
Write a program to shift every element of an array to circularly right. E.g.-
INPUT : 1 2 3 4 5
OUTPUT : 5 1 2 3 4
```#include<iostream>
using namespace std;

int main()
{
int a[] = { 1,2,3,4,5 };
int t = a,i;
for(i = 4; i>=1; i--)
{
a[i]=a[i-1];
}
a=t;
for(i = 0; i<=4; i++)
{
cout << a[i] << "\n";
}
return 0;
}
```

3.
Initialize a 2D array of 3*3 matrix. E.g.-
 1 2 3 4 5 6 7 8 9

Check if the matrix is symmetric or not.
Hint
a[i][j] = a[j][i]

4.
Sorting refers to arranging data in a particular format. Sort an array of integers in ascending order. One of the algorithm is selection sort. Use below explanation of selection sort to do this.
INITIAL ARRAY :
 2 3 1 45 15
First iteration : Compare every element after first element with first element and if it is larger then swap. In first iteration, 2 is larger than 1. So, swap it.
 1 3 2 45 15
Second iteration : Compare every element after second element with second element and if it is larger then swap. In second iteration, 3 is larger than 2. So, swap it.
 1 2 3 45 15
Third iteration : Nothing will swap as 3 is smaller than every element after it.
 1 2 3 45 15
Fourth iteration : Compare every element after fourth element with fourth element and if it is larger then swap. In fourth iteration, 45 is larger than 15. So, swap it.
 1 2 3 15 45
```#include<iostream>
using namespace std;

int main()
{
int a[] = { 2, 3, 1, 45, 15};
int t,i,j;
for(i = 0;i<4;i++){
for(j = i+1;j<5;j++){
if(a[i]>a[j]){
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for(i = 0;i<5;i++){
cout << a[i] << "\n";
}
return 0;
}
```

5.
Input any number. Find the sum of the digits of the number using a recursive function.

6.
Pass a 2D array to function and access all its elements.

7.
Write a program to add and multiply two 3x3 matrices.  