#include using namespace std; const int ARRAY_SIZE = 10; const int END = -1; typedef int IntArray[ARRAY_SIZE]; int Input(IntArray &numbers); void Output(int size, const IntArray &numbers); int main() { IntArray numbers; // step 0: data store on the stack int numCount = Input(numbers); // step 1: input Output(numCount, numbers); // step 2 & 3: process & output return 0; } int Input(IntArray &numbers) { int numCount = 0; int number; cout << "enter up to " << ARRAY_SIZE << " numbers (" << END << " to exit): " << endl; cout << "enter " << (numCount + 1) << "th number: "; cin >> number; while (numCount < ARRAY_SIZE && number != END) { numbers[numCount] = number; numCount++; if (numCount < ARRAY_SIZE) { cout << "enter " << (numCount + 1) << "th number: "; cin >> number; } } return numCount; } void Output(int size, const IntArray &numbers) { cout << "address of numbers: " << &numbers << endl; for (int i = 0; i < size; i++) { cout << "numbers[" << i << "]: " << numbers[i] << " at address " << &numbers[i] << endl; } }