This blog is under construction

Sunday, 6 May 2012

Array Classifications

Arrays are classified into the following types.
       One-Dimensional Arrays
       Two-Dimensional Arrays
       Multidimensional Arrays


One Dimensional Arrays:
The collection of elements of similar data type stored in contiguous memory location under one variable name with single subscript.

     int num[4];


 Data Item  num[0]  num[1]  num[2]  num[3]
 Address  1000  1004  1008  1012


Two Dimensional Array:
A set of data items stored under a common name with two subscripts and it can be thought of as a rectangular display of elements with rows and columns as shown below.

     int num[4][4];

column1  column2 column3 column4
 Row1 num[0][0] num[0][1] num[0][2] num[0][3]
 Row2 num[1][0] num[1][1] num[1][2] num[1][3]
 Row3 num[2][0] num[2][1] num[2][2] num[2][3]
 Row4 num[3][0] num[3][1] num[3][2] num[3][3]


Multidimensional Array:
Two dimensional array is the simplest form of multidimensional array.  A set of data elements stored under a single variable name with more than 1 subscripts is called multidimensional array.  Below is an example for three dimensional array which is also a multidimensional array.

     int num[3][3][3] = {
     {
       {1, 1, 1},
       {1, 1, 1},
       {1, 1, 1}
     },

     {
       {1, 1, 1},
       {1, 1, 1},
       {1, 1, 1}
     },

     {
       {1, 1, 1},
       {1, 1, 1},
       {1, 1, 1}
      }
    };



Example C program on one dimensional and two dimensional array

#include <stdio.h> 
  int main() {
        int num[5], two_dim[3][3], i, j;

        // assigning values to one dimensional array elements
        for (i = 0; i < 5; i++) {
                num[i] = i;
        }

        // assigning value to two dimensional array elements
        for (i = 0; i < 3; i++)
                for (j=0; j < 3; j++)
                        two_dim[i][j] = i + j;

        // printing values of one dimensional array
        for (i = 0; i < 5; i++)
                printf("%d\t", num[i]);
        printf("\n\n");

        // printing the values in two dimensional array
        for (i = 0; i < 3; i++) {
                for (j = 0; j < 3; j++) {
                   printf("%d ", two_dim[i][j]);
                }
                printf("\n");
        }
        return 0;
  }

  Output:
  jp@jp-VirtualBox:~/$ ./a.out
  0    1    2    3    4   

  0  1  2
  1  2  3
  2  3  4





Example C program using three-dimensional array

#include <stdio.h> 
  int main() {
        int num[3][3][3], i, j, k;
        for (i=0; i < 3; i++){
           for (j=0; j < 3; j++) {
              for(k=0; k < 3; k++) {
                num[i][j][k] = k;
                printf("%d  ", num[i][j][k]);
              }
              printf("\n");
           }
           printf("\n");
        }
        return 0;
  }



  Output:
  jp@jp-VirtualBox:~/$ ./a.out
  0  1  2
  0  1  2
  0  1  2

  0  1  2
  0  1  2
  0  1  2

  0  1  2
  0  1  2
  0  1  2



No comments:

Post a Comment