The illustration shows a code segment with the lines numbered from 1 through 46 and the annotations are as follows:

"//Sorts a list of numbers entered at the keyboard.
#include <iostream>
#include <cstdlib>
#include <cstddef>

typedef int* IntArrayPtr;
void fill_array(int a[], int size);
//Precondition: size is the size of the array a.
//Postcondition: a[0] through a[size- 1] have been
//filled with values read from the keyboard.”

“void sort(int a[], int size);” annotated as "Ordinary array parameters" along with the line "void fill_array(int a[], int size);" 
 “//Precondition: size is the size of the array a.
//The array elements a[0] through a[size–1] have values.
//Postcondition: The values of a[0] through a[size–1] have been rearranged
 //so that a[0] <= a[1] <= … <= a[size–1].

int main( )
 {
using namespace std;
cout << "This program sorts numbers from lowest to highest.\n";

int array_size;
cout << "How many numbers will be sorted? ";
cin >> array_size;

IntArrayPtr a;
a = new int[array_size];

fill_array(a, array_size);
sort(a, array_size);

cout << "In sorted order the numbers are:\n";
for (int index = 0; index < array_size; index++)"
"cout << a[index] << " "annotated as "The dynamic array a is used like an ordinary array."
"cout << endl;

delete [] a;

return 0;
}

//Uses the library iostream:
void fill_array(int a[], int size)
{"