- •Операторы циклов. Массивы
- •1. Операторы циклов
- •Параметрический оператор цикла
- •Операция «Запятая»
- •Оператор цикла while
- •Более изящной является запись
- •Оператор цикла do . . . While
- •Операторы continue, break
- •2. Массивы. Переменные типа массив
- •2.1. Описание массивов
- •2.2. Ввод и вывод массивов Использование массивов в вычислениях предполагает их ввод, как исходных данных, а также вывод их в качестве результата вычислений.
- •2.2.1. Ввод массивов
- •2.2.2. Вывод массивов
- •2.2.3. Операции с массивами
- •2.2.4. Многомерные массивы
- •Для четырехмерного
- •Представление многомерных массивов как массив массивов.
- •Описание массивов с помощью инструкции typedef
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( );
}
