Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика. Лекции. 2009. Измайлов.doc
Скачиваний:
10
Добавлен:
26.10.2018
Размер:
4 Mб
Скачать

12.2.2. Ввод массивов Использование массивов в вычислениях предполагает их ввод, в качестве исходных данных, а также вывод их в качестве результата вычислений.

В С++ возможны два способа ввода массивов:

инициализацией при описании,

поэлементный с помощью цикла.

Оператор ввода массива при его описании (инициализация) имеет следующий синтаксис:

тип имя [размер]={эл.1, эл.2, …, эл.n-1} ;

Здесь эл.1, эл.2, …, эл.n-1 – значения элементов массива. Например:

float a[5]={3.1, -6.7, 0.9, 17.2, -0.8};

Такой способ ввода массивов удобен, когда количество его элементов не превышает десяти. В противном случае он делает описание массива громоздким. Более компактно выглядит поэлементный ввод массива с помощью цикла. Такой принцип ввода уже применялся при рассмотрении типовых алгоритмов с использованием ряда чисел. Блок – схема его известна. Запись поэлементного ввода средствами языка С++ имеет вид:

for (i = 0; i < N; i++)

cin >> a[i];

В этом примере параметр цикла i , который обозначает текущий адрес элемента массива (индекс), инициализируется нулем и изменяется до n-1 c шагом единица. Ввод осуществляется с клавиатуры, о чем говорит объект cin >> . Как видно из примера запись оператора цикла при вводе массива имеет две строчки. Размер этой записи (две строчки) не зависит от количества элементов, вводимого массива, будь то десять или тысяча элементов.

12.2.3. Вывод массивов

Вывод массивов возможен только поэлементный. Это удобно делать с помощью цикла. Операция вывода ранее рассматривалась на уровне блок – схем. Пример записи операции вывода массива на экран средствами языка С++ имеет вид:

for ( i = 0; i < N; i ++ )

cout << a[i]<<” ”;

Здесь поочередно выводятся элементы массива а[N].

12.2.4. Операции с массивами

В алгоритмическом языке С++ не предусмотрены никакие стандартные операции с массивами как сложной переменной. Вместе с тем операции с отдельными элементами массивов возможны. При этом виды операций могут быть любые из числа, предусмотренных для указанного типа элемента.

В качестве иллюстрации использования массивов предлагается следующая задача:

в заданном ряде чисел a[N] поменять местами наименьший и наибольший элемент.

Блок – схема решения этой задачи и программа приведены ниже на рис.13.1. По этой блок–схеме составлена программа.

В программе размер массива указан в директиве # define. Ввод данных предусмотрен с клавиатуры, с помощью цикла, а вывод – на экран.

Рис. 12.1. Блок–схема алгоритма решения задачи

# include <iostream.h>

# include <conio.h>

# include <iomanip.h>

# define n 15

void main( )

{

float min, max, R, a[n];

short i;

clrscr( );

cout<<” Введите”<<n<<” чисел”<< endl;

for (i = 0; i < n; i ++)

cin >> a[i];

clrscr( );

min = a[0];

max = a[0];

for (i = 1; i < n; i ++)

if (a[i] < min) min = a[i];

else

{

if (a[i] > max) max = a[i];

}

R = min;

min = max;

max = R;

cout<<setw(20)<<” ”<<”Результат ”<< endl;

for (i = 0; i < n; i ++)

cout << setw(8)<<setprecision(3)<< a[i]<<” “;

getch( );

}