<< Chapter < Page Chapter >> Page >

Operations on arrays

Read the elements of a 1-dimensional array:

float a[10]; // declare a float array of size 10int i; // read the second element of the array : a[1]scanf(“%f”,&a[1]);// Assign an expression to the third element of the array a[2]= a[1] + 5;

To read the value for each element of an array, you should use for statement. For example,

int b[10];int i; // Read the value for each element of the arrayfor(i = 0; i<10; i++) {printf(“\n Enter the value of b[%d]”, i);scanf(“%d”,&b[i]);}

In case you do not now the exact number of elements, declare the maximum number of elements and use a variable to store the actual size of the array

int a[100]; // Declare the array with the number of elements not greater than 100int n; // n is the actual size of the array int i;printf(“\n Enter the number of elements: “); scanf(“%d”,&n); for(i = 0; i<n; i++) {printf("\n a[%d] = ", i);scanf("%d",&a[i]);}

C allow you to associate initializers with specific elements . To specify a certain element to initialize, place its index in square brackets. In other words, the general form of an element designator for array elements is:

int a[4] = {4, 9, 22, 16};float b[3] = {40.5, 20.1, 100};char c[5] = {‘h’, ‘e’, ‘l’, ‘l’, ‘o’};

The first statement is equivalent to four assign statements

a[0] = 4; a[1]= 9; a[2] = 22; a[3]= 16;

Printing array elements

printf function are used to print the element of an array. In the following example, we print the element of array a in different ways

#include<stdio.h>#include<conio.h>void main() {int a[5];int i, k; // Read the elements of the arrayfor(i = 0; i<5; i++) {printf(“\n a[%d] = “, i);scanf(“%d”,&a[i]);} // print the value of element a[3]printf(“\n a[3]= %d”, a[3]);// Display all the elements of array a, each element in a line. for(i = 0; i<5; i++) printf(“\n%d”, a[i]); // Display all the elements of array a in a lineprintf(“\n”); // change to a new line for(i = 0; i<5; i++) printf(“%d “, a[i]); // Display all the elements of array a, k elements in a lineprintf(“\n Enter the value of k = “); scanf(“%d”,&k); for(i = 0; i<5; i++) {printf(“%d “,a[i]);if((i+1)%k == 0) // change to a new line after printing k //elementsprintf(“\n”); }getch(); }

here is the sample session with the above program

a[0] = 6a[1] = 14a[2] = 23a[3] = 37a[4] = 9a[3] = 376 1423 379 6 14 23 37 9Input the value of k = 2 6 1423 37 9

Find the maximum value stored in the array.

The purpose of this function is to find the maximum value stored in the array

  • Set up a trial minimum value. The function begins by declaring a variable named min and initializing that variable with a trial minimum value – value of the first element .
  • Then the function uses a while loop to:
    • Fetch the value stored in each element in the array
    • Compare each of those values with the current value stored in the variable named max
    • Possibly replace if the value fetched from an element is algebraically greater than the current value stored in max:
    • The value fetched from the element is stored in the variable named max
    • Replacing the value that was previously stored in the variable named max by the new value from the element.
  • When all of the array elements have been examined and processed in this manner, the variable named max will contain the maximum value of all the values stored in the array.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Introduction to computer science. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10776/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Introduction to computer science' conversation and receive update notifications?

Ask