Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция13.doc
Скачиваний:
11
Добавлен:
15.11.2018
Размер:
114.69 Кб
Скачать

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

2.2.1. Ввод массивов

В С++ имеется два способа ввода массивов:

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

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

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

тип имя[размер]={эл.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 >> .

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

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

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

cout << a[i];

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

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

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

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

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

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

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

# 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( );

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]