Lecture: Programming Fundamentals and Computing Languages ( Arrays & Loops )

Array Video Here )
C++ provides a data structure, the array, which stores a fixed-size sequential collection of elements of the same type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type.
Instead of declaring individual variables, such as number0, number1, ..., and number99, you declare one array variable such as numbers and use numbers[0], numbers[1], and ..., numbers[99] to represent individual variables. A specific element in an array is accessed by an index.
All arrays consist of contiguous memory locations. The lowest address corresponds to the first element and the highest address to the last element.

Declaring Arrays

To declare an array in C++, the programmer specifies the type of the elements and the number of elements required by an array as follows −
type arrayName [ arraySize ];
This is called a single-dimension array. The arraySize must be an integer constant greater than zero and type can be any valid C++ data type. For example, to declare a 10-element array called balance of type double, use this statement −
double balance[10];

Initializing Arrays

You can initialize C++ array elements either one by one or using a single statement as follows −
double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};
The number of values between braces { } can not be larger than the number of elements that we declare for the array between square brackets [ ]. Following is an example to assign a single element of the array −
If you omit the size of the array, an array just big enough to hold the initialization is created. Therefore, if you write −
double balance[] = {1000.0, 2.0, 3.4, 17.0, 50.0};
You will create exactly the same array as you did in the previous example.
balance[4] = 50.0;
The above statement assigns element number 5th in the array a value of 50.0. Array with 4th index will be 5th, i.e., last element because all arrays have 0 as the index of their first element which is also called base index. Following is the pictorial representaion of the same array we discussed above −
Array Presentation

Accessing Array Elements

An element is accessed by indexing the array name. This is done by placing the index of the element within square brackets after the name of the array. For example −
double salary = balance[9];
The above statement will take 10th element from the array and assign the value to salary variable. Following is an example, which will use all the above-mentioned three concepts viz. declaration, assignment and accessing arrays −
#include <iostream>
using namespace std;
 
#include <iomanip>
using std::setw;
 
int main () {

   int n[ 10 ]; // n is an array of 10 integers
 
   // initialize elements of array n to 0          
   for ( int i = 0; i < 10; i++ ) {
      n[ i ] = i + 100; // set element at location i to i + 100
   }
   cout << "Element" << setw( 13 ) << "Value" << endl;
 
   // output each array element's value                      
   for ( int j = 0; j < 10; j++ ) {
      cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl;
   }
 
   return 0;
}
This program makes use of setw() function to format the output. When the above code is compiled and executed, it produces the following result −
Element        Value
      0          100
      1          101
      2          102
      3          103
      4          104
      5          105
      6          106
      7          107
      8          108
      9          109

Arrays in C++

Arrays are important to C++ and should need lots of more detail. There are following few important concepts, which should be clear to a C++ programmer −
Sr.NoConcept & Description
1Multi-dimensional arrays
C++ supports multidimensional arrays. The simplest form of the multidimensional array is the two-dimensional array.
2Pointer to an array
You can generate a pointer to the first element of an array by simply specifying the array name, without any index.
3Passing arrays to functions
You can pass to the function a pointer to an array by specifying the array's name without an index.
4Return array from functions
C++ allows a function to return an array.
*******
Arrays help keep data organized, and their real power comes through when you are able to write a little code that can go through every element in an array. Instead of repeating code for each element, you just say:
for each element in array
do something
To go through an array in code, you can use an index variable to keep track of your position in the array, and increment it to get through the whole array. The For Loop works particularly well for such purposes:
//create array
int[] array1 = {1, 2, 3, 4, 5, 6, 7, 8 };

//print each element in array
for(int i = 0; i < array1.length; i = i+1){
  System.out.println(array1[i]);
}
This would print:
1
2
3
4
5
6
7
8
Similarly, you can setup the initial data in an array with a for loop (Hover over code for more info.):
  int[] array2 = new int[8];
  for(int i = 0; i < array2.length; i = i+1){
    array2[i] = i+1;
  }
This would create an array like above: {1, 2, 3, 4, 5, 6, 7, 8}
You can now see how a loop can find the largest number in an array:
static int getLargestNumber(int[] numbers){
    int largest = 0;
    for(int i=0; i < numbers.length; i = i+1){
      if(numbers[i] > largest){
        largest = numbers[i];  
      }
     }
  return largest;
  }

The numbers are stored in an array named numbersi is used to go through the array one number at a time and every numbers[i] is compared with largest to see which is larger. largest will be assigned any larger value, so after going through the array, it will have the largest value.

Loops

There may be a situation, when you need to execute a block of code several number of times. In general, statements are executed sequentially: The first statement in a function is executed first, followed by the second, and so on.
Programming languages provide various control structures that allow for more complicated execution paths.
A loop statement allows us to execute a statement or group of statements multiple times and following is the general from of a loop statement in most of the programming languages −
Loop Architecture
C++ programming language provides the following type of loops to handle looping requirements.
Sr.NoLoop Type & Description
1while loop
Repeats a statement or group of statements while a given condition is true. It tests the condition before executing the loop body.
2for loop
Execute a sequence of statements multiple times and abbreviates the code that manages the loop variable.
3do...while loop
Like a ‘while’ statement, except that it tests the condition at the end of the loop body.
4nested loops
You can use one or more loop inside any another ‘while’, ‘for’ or ‘do..while’ loop.

Loop Control Statements

Loop control statements change execution from its normal sequence. When execution leaves a scope, all automatic objects that were created in that scope are destroyed.
C++ supports the following control statements.
Sr.NoControl Statement & Description
1break statement
Terminates the loop or switch statement and transfers execution to the statement immediately following the loop or switch.
2continue statement
Causes the loop to skip the remainder of its body and immediately retest its condition prior to reiterating.
3goto statement
Transfers control to the labeled statement. Though it is not advised to use goto statement in your program.

The Infinite Loop

A loop becomes infinite loop if a condition never becomes false. The for loop is traditionally used for this purpose. Since none of the three expressions that form the ‘for’ loop are required, you can make an endless loop by leaving the conditional expression empty.
#include <iostream>
using namespace std;
 
int main () {
   for( ; ; ) {
      printf("This loop will run forever.\n");
   }

   return 0;
}
When the conditional expression is absent, it is assumed to be true. You may have an initialization and increment expression, but C++ programmers more commonly use the ‘for (;;)’ construct to signify an infinite loop.
NOTE − You can terminate an infinite loop by pressing Ctrl + C keys.

Comments

Popular posts from this blog

Compiler Construction (Conversion of NFA to DFA)

Intro to Programming (MCS) & PF (BSSE) (Topic: Recursion & Iteration in C++)

Compiler Construction (Lectures during COVID-19 Quarantine days)