Выбрать главу

Компьютер считывает число с клавиатуры и сохраняет его в следующем элементе массива valueArray. Доступ к элементам массива обеспечивается с помощью имени массива и индекса, указанного в квадратных скобках. Первый элемент массива обозначается как valueArray[ 0 ], второй — как valueArray[ 1 ] и т.д.

Запись valueArray[ i ] представляет собой i-й элемент массива. Индексная переменная i должна быть перечислимой, т.е. её типом может быть char , int или long. Если valueArray — массив целых чисел, то элемент valueArray[ i ] имеет тип int

Работа с массивами...93

В представленной ниже программе осуществляется ввод последовательности целых чисел ( до первого отрицательного числа ), затем эта последовательность и сумма её элементов выводятся на экран.

    /* ArrayDemo — демонстрирует использование массивов. Считывает последовательность целых чисел и отображает их по порядку */

    #include <cstdio>

    #include <cstdlib>

    #include <iostream>

    using namespace std ;

    /* объявления прототипов функций */

    int sumArray( int integerArray[ ] , int sizeOfloatArray ) ;

    void displayArray( int integerArray[ ] , int sizeOfloatArray ) ;

_________________

93 стр. Глава 7. Хранение последовательностей в массивах

    int main( int nArg , char* pszArgs[ ] )

    {

        setlocale ( LC_ALL , ".1251" ) ; /* печать русских текстов */

        /* Описываем счётчик цикла */

        int nAccumulator = 0 ;

        cout << "Эта программа суммирует числа,"

        << " введённые пользователем\n" ;

        cout << "Цикл прерывается, когда"

              << " пользователь вводит\n"

              << "отрицательное число\n" ;

        /* Сохраняем числа в массиве */

        int inputValues[ 128 ] ;

        int numberOfValues = 0 ;

        for ( numberOfValues = 0 ; numberOfValues < 128 ; numberOfValues++ )

        {

            /* Ввод очередного числа */

            int integerValue ;

            cout << "Введите следующее число: " ;

            cin >> integerValue ;

            /* Если оно отрицательное... */

            if ( integerValue < 0 )

           {

                /* ...тогда выходим из цикла */

                break ;

            }

            /* ...иначе сохраняем число в массиве */

            inputValues[ numberOfValues ] = integerValue ;

        }

        /* Теперь выводим значения и их сумму */

        displayArray( inputValues , numberOfValues ) ;

        cout << "Сумма введённых чисел равна "

               << sumArray( inputValues , numberOfValues )

               << endl ;

        /* Пауза для того, чтобы посмотреть на результат работы программы */

        system( "PAUSE" ) ; return 0 ;

    }

    /* displayArray — отображает элементы массива integerArray длиной sizeOfloatArray */

    void displayArray( int integerArray[ ] , int sizeOfArray )

    {

        cout << "В массиве хранятся"

                << " следующие значения:\n" ;

        for ( int i = 0 ; i < sizeOfArray ; i++ )

        {

            cout.width( 3 ) ;

            cout << i << ": " << integerArray[ i ] << endl ;

         }

        cout << endl ;

    }

_________________

94 стр. Часть 2. Становимся функциональными программистами

    /* sumArray — возвращает сумму элементов целочисленного массива */