Arrays

Question 1

Consider the following C program.

#include 
int main ()  {
     int a [4] [5] = {{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[4][5] = { {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[3][3][3] =
{{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[3] [3] [3] 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[100][100];    

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

A
4040
B
4050
C
5040
D
5050
       Data-Structures       Arrays       GATE 2002
Question 5 Explanation: 
Address for a[40][50] = 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 [10], B[10][10]; 

Of the following expressions

I. A[2]     II. A[2][3]     III. B[1]     IV. B[2][3]  

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[2] can be consider as a pointer and this will not give any compile-time error.
ii) A[2][3] This results an integer, no error will come.
iii) B[1] is a base address of an array. This will not be changed it will result a compile time error.
iv) B[2][3] 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[1]);
                 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[1] 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[2], a[3], a[4]) ;
	} 
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 [32] [10] ;

Which of the following array elements are in adjacent locations in memory?
A
pat [31] [6], pat [0] [7]
B
pat [28] [0], pat [28] [9]
C
pat [15] [0], pat [16] [0
D
None of the Above.
       Programming       Arrays       HCU PHD CS MAY 2019
Question 14 Explanation: 
After pat[31][6] the next location will be pat[31][7].
After pat[28][0] the next location will be pat[28][1].
After pat[15][0] the next location will be pat[15][1].
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.

Access quiz wise question and answers by becoming as a solutions adda PRO SUBSCRIBER with Ad-Free content

Register Now

If you have registered and made your payment please contact solutionsadda.in@gmail.com to get access