Tuesday, June 8, 2010

*Arraya Multi-Demensional

Arrays Multi-Dimensional

We have seen the basic concept behind arrays in general and also one-dimensional arrays. Now we see the handling of more than one-dimensional arrays.

Two-Dimensional Arrays

The discussion so far has been in listing of values stored under a single name. However, sometimes it becomes to store a table of values. Now we all know that a table comprises of rows and columns. Consider the following data table

----------------------------------------

x1 x2

----------------------------------------

y1 100 200

y2 300 400

---------------------------------------

The above table consists of 2 rows and 2 columns. Now it is necessary to store this kind of data in programs, where the column represents variation of one quantity and corresponding to each column we have the row values varying as above we have x1 and varying of y from y1 to y2.

C allows us to define such table of items by using two-dimensional arrays. The table discussed above can be defined in C as

array[2][2]

Here the first bracket value indicates the number of rows which is 2 in this case, and the second bracket is the column size (2 in this case).

In general the declaration of two-dimensional arrays is as follows

type array_name [row_size][column_size];

The type can be any data type inbuilt or user defined. C & C++ provides the easiest techniques to to declare arrays.

The representation of memory storage of two-dimensional arrays can be visualized as follows

column0 column1

[0][0] [0][1]

______________________

Row0---- |___100_____|____200 ___|

[1][0] [1][1]

______________________

Row1---- |____300____ |____400___|

Initialization of two-dimensional arrays

Similar to the one-dimensional the two-dimensional arrays are initialized. For example

int array[2][3] = {1,2,3,4,5,6};

In the above case elements of the first row are initialized to 1,2,3 & second row elements are initialized to 4,5,6.

The initialization can be done row wise also, for the above example it is

int array[2][3] = {{1,2,3},{4,5,6}};

If the initialization has some missing values then they are automatically initialized to 0.

For example

int array[2][3] = {{3.4},{5}}

In this case the first two elements of the first row are initialized to 3,4 ,while the first element of the second row is initialized to 5 & rest all elements are initialized to 0.

Multi-Dimensional Arrays

C allows arrays with more than two dimension, to the limit depending on the compiler.

The general form of a multidimensional array is

type array_name[s1][s2][s3]....[sm];

The total number of elements in any dimension of arrays is the product of all sizes included in the declaration. So it will be s1*s2*s3*....*sm.

For most applications, two dimension arrays suffice. Three dimension is maximum that you can expect to go in normal applications. Still higher dimension arrays are required in the field of scientific computing, weather forecasting, time-space analysis, etc.

Ravinder Singh
*ks*

No comments:

DESCLAIMER:

KIMONGSHAW (RAVINDER SINGH c/o Principal, GDC Chamba, Distt Chamba himachal pradesh 176311 india) ACKNOWLEDGES THAT THOUGH i TRY TO REPORT ACCURATELY, i CANNOT VERIFY THE ABSOLUTE FACTS OF EVERYTHING POSTED. POSTINGS MAY CONTAIN FACT, SPECULATION OR RUMOR. i FIND IMAGES FROM THE WEB THAT ARE BELIEVED TO BELONG IN THE PUBLIC DOMAIN. IF ANY STORIES OR IMAGES THAT APPEAR ON THE SITE ARE IN VIOLATION OF COPYRIGHT LAW, PLEASE EMAIL or call me AND i WILL REMOVE THE OFFENDING INFORMATION AS SOON AS POSSIBLE. contact me kimongshaw@yahoo.co.uk