# Practice questions on Array

## Level 1

1.

### Take 10 integer inputs from user and store them in an array and print them on screen.

```import java.util.*;

class Ans{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
int[] z = new int;
for(int i = 0;i<z.length;i++){
System.out.println("Print the value of z["+i+"]");
z[i] = s.nextInt();
}
for(int i = 0;i<z.length;i++){
System.out.println("The value of z["+i+"] is "+z[i]);
}
}
}
```

2.

3.

### Take 20 integer inputs from user and print the following:number of positive numbersnumber of negative numbersnumber of odd numbersnumber of even numbersnumber of 0s.

```import java.util.*;

class Ans{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
int[] z = new int;
int pos = 0;
int neg = 0;
int odd = 0;
int even = 0;
int zero = 0;
for(int i = 0;i<z.length;i++){
System.out.println("Print the value of z["+i+"]");
z[i] = s.nextInt();

if(z[i]>0){
pos++;
}
else if(z[i]<0){
neg++;
}
else{
zero++;
}
if(z[i]%2==0){
even++;
}
else{
odd++;
}
}
System.out.println("Positive : "+pos+"\nNegative : "+neg+"\nZero : "+zero+"\nodd : "+odd+"\neven : "+even);
}
}
```

4.

### Take 10 integer inputs from user and store them in an array. Now, copy all the elements in an another array but in reverse order.

```import java.util.*;

class Ans{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
int[] a = new int;
int[] b = new int;
for(int i =0;i<a.length;i++){
System.out.println("Enter the value of a["+i+"]");
a[i] = s.nextInt();
}
int j = 0;
for(int i = b.length-1;i>=0;i--){
b[i] = a[j];
j++;
}
for(int i = 0; i< b.length; i++){
System.out.println("The value of b["+i+"] is "+b[i]);
}
}
}
```

5.

6.

7.

### Find largest and smallest elements of an array.

```import java.util.*;

class Ans{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
int[] a = new int;
for(int i =0;i<a.length;i++){
System.out.println("Enter the value of a["+i+"]");
a[i] = s.nextInt();
}

int largest = a;
int smallest = a;

for(int i = 0;i<a.length;i++){
if(a[i]>largest)
largest = a[i];
if(a[i]<smallest)
smallest = a[i];
}

System.out.println("Largest is "+largest+" and smallest is "+smallest);

}
}
```

8.

### Write a program to check if elements of an array are same or not it read from front or back. E.g.-

```import java.util.*;

class Ans{
public static void main(String[] args){
int[] a = {2,3,15,15,3,2};
int j = a.length-1;

for(int i =0;i<a.length/2;i++){
if(a[i]!=a[j]){
break;
}
else
j--;
}
}
}
```

9.

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.

maximum difference = higest-lowest
minimum difference = second lowest - lowest

11.

## 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

```import java.util.*;

class Ans{
public static void main(String[] args){
int[] a = {4,8,6,3,2};
int[] b = new int[a.length+1];
int highest = a;
int second_highest = a;
int j = 0;
for(int i=0;i<a.length;i++){
if(a[i]>highest){
highest = a[i];
j = i;
}
}
for(int i = 0;i<a.length;i++){
if(a[i]<highest && a[i]>second_highest){
second_highest = a[i];
}
}

for(int i = 0;i<j;i++){
b[i] = a[i];
}
b[j] = second_highest;
b[j+1] = highest-second_highest;
for(int i = j+2;i<b.length;i++){
b[i] = a[i-1];
}
for(int i = 0;i<b.length;i++){
System.out.println(b[i]);
}
}
}
```

2.

### Write a program to shift every element of an array to circularly right. E.g.-INPUT : 1 2 3 4 5OUTPUT : 5 1 2 3 4

```import java.util.*;

class Ans{
public static void main(String[] args){
int a[] = { 1,2,3,4,5 };
int t = a;
for(int i = 4; i>=1; i--)
{
a[i]=a[i-1];
}
a=t;
for(int i = 0; i<=4; i++)
{
System.out.println(a[i]);
}
}
}
```

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.

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

```import java.util.*;

class Ans{
public static void main(String[] args){
int a[] = { 2, 3, 1, 45, 15};
int t;
for(int i = 0;i<a.length-1;i++){
for(int j = i+1;j<a.length;j++){
if(a[i]>a[j]){
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for(int i = 0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
```

5.

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

```import java.util.*;

class Ans{
public static int sum(int x){
if((x/10) == 0){
return x;
}
else{
return sum(x/10)+(x%10);
}
}

public static void main(String[] args){
Scanner s = new Scanner(System.in);
int x;
x = s.nextInt();
System.out.println(sum(x));
}
}
```

## Level 3  