Getting Started - Al Akhawayn University
Download
Report
Transcript Getting Started - Al Akhawayn University
Lab 11
Arrays
Exercises
Note:
Read the whole Chapter 8.
Arrays
A data structure is a grouping of related data items in memory.
An array is a data structure used to store a collection of data items of the
same type.
An individual array element is referenced by placing immediately after the
array name a square-bracketed subscript for each dimension.
The initial element of one-dimensional array x is referenced by x[0].
If x has n elements, the final element is referenced as x[n-1].
An indexed for loop whose counter runs from 0 to one less than an array’s
size enables us to reference all the elements of a one-dimensional array in
sequence by using the loop counter as the array subscript. Nested for
loops provide sequential access to multidimensional array elements
For an array declared as function parameter, space is allocated in the
function data area for only the address of the initial element of the actual
argument passed.
Arrays (continue)
The name of an array with no subscript always refers to the address of
the initial array element.
A function that creates an array result should require the calling module
to pass an output argument array in which to store the result.
Examples:
Array declarations:
- double data[30]; : allocates storage for 30 type double items in
array data (data[0],data[1]……data[29])
- int matrix[2][3]: 6 type int items (2 rows of 3 columns) in twodimensional array matrix (matrix[0][0],
matrix[0][1],…..matrix[1][2]).
Initialization:
char vowels[3] ={‘A’,’E’,’I’}: allocates storage for 3 type char items in
array vowels and initializes the array contents: vowels[0]=‘A’,
vowels[1]=‘E’, vowels[2]=‘I’.
int id[2][2]={{1,0},{0,1}}: Allocates 4 locations for the 2*2 matrix id,
initializing the storage so id[0][0]=1, id[0][1]=0, id[0][0]=0, id[0][1]=1.
Input parameter
void print_alpha(const char alpha[],const int m[], int a_size,int m_size)
: states that the function print_alpha uses arrays aplha and m as input
parameters, only print_alpha will not change their contents.
Input/Output parameter
void fill(int nums[], int n) or …(int*nums, …): states that function fill can
both look at and modify the actual argument array passed to nums.
Array references
if (data[0]<39.8) : compares value of initial element of array data
to 39.8
for (i=0;i<30,i++)
data[i]/=2.0; ??
for(i=0;i<2;++i) ??
for(j=0;j<3;++j)
printf(" %6d", matrix[i][j]);
Exercises
Exercise1:
Write a C program that computes the mean and standard deviation of
an array of data and displays the difference between each value and
the mean.
Exercise 2:
Write a C program that uses a function get_max() to find the largest of
the first n values in an array list.
Exercise 3:
Write a C program that uses a function search() to search for the target
item in first n elements of an array gotten as input.
Multidimensional Arrays
You can initialize arrays in their declarations just like you initialize onedimensional arrays. Still, instead of listing all table values in one list,
the values are usually grouped by rows.
example: char tictac[3][3]={ {‘ ‘ , ‘ ‘, ‘ ‘} , {‘ ‘ , ‘ ‘, ‘ ‘}, {‘ ‘ , ‘ ‘, ‘ ‘}};
it initializes the content of the tic-tac-toe to blanks.
Arrays with several dimensions
Example: int enroll[MAXCRS][5][4];
This is a three-dimensional array that may be used to store the
enrollment data for a college. The MAXCRS refers to the
maximum number of courses offered at 5 different campuses.
With the 4 refers to the year : 0 refers to the freshman year 0,
the sophomore year 1, and so on. Thus, the enroll [1][4][3]
represents the number of seniors taking course 1 at campus 4.
Exercises
Write a C program that finds and displays the total number of students
in each course.
Write a C program that displays the number of students at each
campus.