## Arrays

 Question 1

Consider the following C program.

```#include
int main ()  {
int a   = {{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20}};
printf (“%d\n”, *(*(a+**a+2) +3));
return (0);
} ```

The output of the program is _______.

 A 19
Data-Structures       Arrays       GATE 2020       Video-Explanation
Question 1 Explanation:
Check out the step by step program and its output in the comment:
#include
int main()
{
int a = { {1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20}
};
printf("%d\n",a); //880 (consider base address = 880)
printf("%d\n",*a); //880
printf("%d\n",**a); //1
printf("%d\n",**a+2); //3
printf("%d\n",a+**a+2); //940
printf("%d\n",*(a+**a+2));//940
printf("%d\n",*(a+**a+2)+3);//952
printf("%d\n",*(*(a+**a+2)+3));//19
return 0;
} Question 2
What is printed by the following ANSI C program?
#include
{
int a =
{{1, 2, 3, 4, 5, 6, 7, 8, 9},
{10, 11, 12, 13, 14, 15, 16, 17, 18},
{19, 20, 21, 22, 23, 24, 25, 26, 27}};
int i = 0, j = 0, k = 0;
for( i = 0; i < 3; i++ ){
for(k = 0; k < 3; k++ )
printf("%d ", a[i][j][k]);
printf("\n");
}
return 0;
}
 A 1 2 3 10 11 12 19 20 21 B 1 4 7 10 13 16 19 22 25 C 1 2 3 4 5 6 7 8 9 D 1 2 3 13 14 15 25 26 27
Programming       Arrays       GATE 2022       Video-Explanation
Question 2 Explanation:
Array dimension sizes are 3,3,3 for all 3 dimensions hence, the value assigned to a   will be assigned from only first 3 indices i.e. 0^th, 1^st, & 2^nd and 3 dimensions shown by { }
Hence, 1, 2, 3 will be 1^st row
10 , 11, 12 will be 2^nd row
19, 20, 21 will be 3^rd row
 Question 3

Let A be a two dimensional array declared as follows:

`  A: array [1 ... 10] [1 ... 15] of integer;  `

Assuming that each integer takes one memory location, the array is stored in row-major order and the first element of the array is stored at location 100, what is the address of the element a[i][j]?

 A 15i + j + 84 B 15j + i + 84 C 10i + j + 89 D 10j + i + 89
Data-Structures       Arrays       GATE 1998
Question 3 Explanation:
The address of element A[i][j] will be,
100 + 15 * (i-1) + (j-1)
= 100 + 15i - 15 + j - 1
= 15i + j + 84
 Question 4

Suppose you are given an array s[1...n] and a procedure reverse (s,i,j) which reverses the order of elements in a between positions i and j (both inclusive). What does the following sequence do, where 1 ≤ k ≤ n:

```         reverse(s, 1, k) ;
reverse(s, k + 1, n);
reverse(s, l, n);  ```
 A Rotates s left by k positions B Leaves s unchanged C Reverses all elements of s D None of the above
Data-Structures       Arrays       GATE 2000
Question 4 Explanation:
If we perform the three given open operations it will result left rotation by K positions. If we perform n time it will result the initial array.
 Question 5

Consider the following declaration of a two dimensional array in C:

`          char a;    `

Assuming that the main memory is byte-addressable and that the array is stored starting from memory address 0, the address of a  is:

 A 4040 B 4050 C 5040 D 5050
Data-Structures       Arrays       GATE 2002
Question 5 Explanation:
Address for a = BaseAddress + [40 * 100 * element size] + [50 * element size]
= 0 + [40 * 100 * 1] + [50 * 1]
= 4000 + 50
= 4050
 Question 6

Assume the following C variable declaration

`int *A , B; `

Of the following expressions

`I. A     II. A     III. B     IV. B  `

which will not give compile-time errors if used as left hand sides of assignment statements in a C program?

 A I, II, and IV only B II, III, and IV only C II and IV only D IV only
Data-Structures       Arrays       GATE 2003
Question 6 Explanation:
i) A can be consider as a pointer and this will not give any compile-time error.
ii) A This results an integer, no error will come.
iii) B is a base address of an array. This will not be changed it will result a compile time error.
iv) B This also results an integer. No error will come.
 Question 7

A program P reads in 500 integers in the range [0, 100] representing the scores of 500 students. It then prints the frequency of each score above 50. What would be the best way for P to store the frequencies?

 A An array of 50 numbers B An array of 100 numbers C An array of 500 numbers D A dynamically allocated array of 550 numbers
Data-Structures       Arrays       GATE 2005
Question 7 Explanation:
→ Here we are storing values above 50 and we are ignoring the scores which is less than 50.
→ Then using array of 50 numbers is the best way to store the frequencies.
 Question 8

A Young tableau is a 2D array of integers increasing from left to right and from top to bottom. Any unfilled entries are marked with ∞, and hence there cannot be any entry to the right of, or below a ∞. The following Young tableau consists of unique entries.

```1     2     5      14
3     4     6      23
10    12    18     25
31    ∞     ∞       ∞ ```

When an element is removed from a Young tableau, other elements should be moved into its place so that the resulting table is still a Young tableau (unfilled entries may be filled in with a ∞). The minimum number of entries (other than 1) to be shifted, to remove 1 from the given Young tableau is ____________.

 A 4 B 5 C 6 D 7
Data-Structures       Arrays       GATE 2015 [Set-2]       Video-Explanation
Question 8 Explanation: Question 9

Consider the following C program:

```        #include <stdio.h>
int main ()  {
int arr [] = {1,2,3,4,5,6,7,8,9,0,1,2,5}, *ip = arr+4;
printf ("%d\n", ip);
return 0;
}
```

The number that will be displayed on execution of the program is _____.

 A 5 B 6 C 7 D 8
Programming-for-Output-Problems       Arrays       GATE 2019       Video-Explanation
Question 9 Explanation: We know that arr is a pointer to arr[ ] & hence arr+4 is pointer to 4th index of array (starting from 0 to 4).
Now *ip is a pointer of int type pointing to memory location 108, which is part of arr.
Hence, when we will print ip it will be equivalent to *(ip+1).
Address of ip will be incremented by 1 & value inside 110 will be printed.
 Question 10

What is the output of the following Pascal program segment?

{c: array [1..10] of integer;

m, n, temp : integer;

procedure r (k, j : integer)

begin

k :=k+1; j :=j+2;

end r;

m :5; n := 3;

r(m, n)

temp;=m; m:=n; n:temp;

write m, n;

}
 A 3, 5 B 5, 3 C Either 3, 5 or 5, 3 D Unpredictable E Answer the above question with explanation
Programming       Arrays       APPSC-2012-DL-CS
 Question 11
What is the output of the following C program?
```	{ int a|5| = {2,3};
Printf (“/n%d%d%d”, a, a, a) ;
} ```
 A Garbage values B 2 3 3 C 3 2 2 D 0 0 0
Programming       Arrays       TNPSC-2012-Polytechnic-CS
Question 11 Explanation:
First two elements of array will get the value 2 and 3 and the remaining 3 elements of the array will get the value 0 by default.
 Question 12
If x is an array of integer, then the value of &x [t] is same as
 A &x[t-1] + size of (int) B x + size of (int)*t C x+t D x=5
Programming       Arrays       TNPSC-2012-Polytechnic-CS
 Question 13
How many values can be held by an array A (-1 … m, 1, … m)?
 A m B m2 C m(m+1) D m(m+2)
Data-Structures       Arrays       TNPSC-2012-Polytechnic-CS
Question 13 Explanation:
Index of rows is from -1 to m, so no. of rows is m+2. And index of column is from 1 to m,so no. of rows is m.
Hence no. of values that can be held in array A is m*(m+2).
 Question 14

An array of integers is declared in C language as

int pat   ;

Which of the following array elements are in adjacent locations in memory?
 A pat  , pat   B pat  , pat   C pat  , pat  [0 D None of the Above.
Programming       Arrays       HCU PHD CS MAY 2019
Question 14 Explanation:
After pat the next location will be pat.
After pat the next location will be pat.
After pat the next location will be pat.
 Question 15

Array is

 A A non linear data structure B A primitive data structure C A linear data structure D None from (1), (2), and (3)
Data-Structures       Arrays       APPSC-2012-DL CA
Question 15 Explanation:
Array is a linear and non-primitive data structure.
There are 15 questions to complete.

Register Now