Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Организация программ с массивами



Описание одномерного массива имеет следующий формат:

Тип имя_массива [n];

где n – размерность (количество элементов) массива является в общем случае константным выражением.

Такие одномерные массивы часто называют векторами.

Например:

int days [12];//массив days из 12 целых чисел

double mass [50];//массив mass из 50 вещественных чисел

Для доступа к элементу массива используется имя массива и его индекс в диапазоне от 0 до n-1, заключенный в квадратные скобки:

имя_массива [индекс]

Например:

mass [0] = 37.5;... mass [49] = 36.6;

Массивы можно инициализировать списком значений или выражений, отделенных запятой в фигурных скобках.

Например:

int days [12] = {27,15,11,5,28,9,14,31,21,15,19,27};

Если список значений короче длины массива, то инициализации подвергаются первые элементы массива, а остальным присваивается нулевое значение.

Например:

int a[5] = {3,12,4}; // a[0]=3, a[1]=12, a[2]=4, a[3]=0, a[4]=0

Массивы могут инициализироваться без указания индекса. В этом случае размерность определяется числом элементов в фигурных скобках.

Например:

int numbers [ ] = {1,2,3,4};//размерность равна четырем

В практических задачах часто используются двумерные массивы, т.е. массивы с двумя индексами. Они описываются следующим образом:

Тип имя_массива [ размер_1 ] [ размер_2 ]

С помощью таких массивов обычно отображаются матрицы.

Например:

const int k=5, r=3;

long m[k][k]; //матрица целых чисел размерности 5х5

float d[k][r]; //матрица целых чисел размерности 5х3

Инициализация двумерного массива осуществляется двумя способами:

1) представлением массива из массивов с заключением каждого массива-строки в свои фигурные скобки (в этом случае размерности можно не указывать);

2) заданием общего списка элементов в том порядке, в котором они располагаются в памяти.

Например:

int matr [ ][ ] = {{3,-4},{25,0},{-1,4}};

int matr [3][2] = {3,-4,25,0,-1,4};

Как и в одномерных массивах при инициализации двухмерных массивов можно присваивать значения не всем элементам.

Пример. Формирование треугольной матрицы.

int x [5][4] = {{11},{25,4},{-3,18,14},{2,17,9,15}};

что эквивалентно отображению матрицы:

При работе с массивами широко используются операторы цикла, особенно, for. Примером может служить задача сортировки массива с помощью "пузырькового" метода.

#include <iostream.h>

#include <math.h>

void main()

{

const int m=5; // Размерность массива чисел

double z[m]; //Тип чисел массива z

for(int i=0;i<m;i++) //Ввод элементов массива

{ cout<<"z["<<i<<"]=";cin>>z[i];}

for(int i=0;i<m-1;i++) //Начало алгоритма сортировки

{ double a;

for(int j=i+1;j<m;j++)

if (z[j]<z[i]) //'<'- сортировка по возрастанию

{a=z[i];z[i]=z[j];z[j]=a;}

} //Конец алгоритма сортировки

cout<<"z["<<m<<"]={";

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

cout<<z[i]<<" ";cout<<"}"; //Вывод элементов массива

}





Дата публикования: 2014-11-02; Прочитано: 293 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...