По теме лабораторной работы. Массив - это структура данных, представленная в виде группы ячеек одного типа, объединенных под одним единым именем

Массив - это структура данных, представленная в виде группы ячеек одного типа, объединенных под одним единым именем. Массивы используются для обработки большого количества однотипных данных. Имя массива является указателем, что такое указатели расскажу немного позже. Отдельная ячейка данных массива называется элементом массива. Элементами массива могут быть данные любого типа. Массивы могут иметь как одно, так и более одного измерений. В зависимости от количества измерений массивы делятся на одномерные массивы, двумерные массивы, трёхмерные массивы и так далее до n-мерного массива. Чаще всего в программировании используются одномерные и двумерные массивы, поэтому мы рассмотрим только эти массивы.

Одномерный массив — массив, с одним параметром, характеризующим количество элементов одномерного массива. Фактически одномерный массив — это массив, у которого может быть только одна строка, и n-е количество столбцов. Столбцы в одномерном массиве — это элементы массива. На рисунке 1 показана структура целочисленного одномерного массива a. Размер этого массива — 16 ячеек.

Рисунок 1 — Представление массивов в языке С++

Максимальный индекс одномерного массива a равен 15, но размер массива 16 ячеек, потому что нумерация ячеек массива всегда начинается с 0. Индекс ячейки – это целое неотрицательное число, по которому можно обращаться к каждой ячейке массива и выполнять какие-либо действия над ней (ячейкой).

синтаксис объявления одномерного массива в С++:

/*тип данных*/ /*имя одномерного массива*/[/*размерность одномерного массива*/];

//пример объявления одномерного массива, изображенного на рисунке 1:

int a[16];

где, int -целочисленный тип данных;

а –имя одномерного массива16 — размер одномерного массива, 16 ячеек.

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

Пример: Создать одномерный массив, подсчитать сумму всех элементов стоящих между первым и вторым отрицательным числом массива.

#include<iostream.h>

#include<math.h>

#include<iomanip.h>

int main()

{

int i,n,s,pol,poz,poll,pozz,sum;

int a[10];

cout <<"vvedite n:"<<endl;

cin>>n;

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

{

cout<<"vvvedite a["<<i<<"]=";

cin>>a[i];

} //Vvod odnomernogo massiva

cout << "massiv a="<<endl;

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

cout <<a[i]<<" ";

cout <<endl;

s=0;

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

//vi4eslenie pervogo otricatel'nogo

{

if(a[i]<0) { pol=a[i];poz=i;break;}

cout <<"pervoe otricatel'noe 4islo="<<pol<<endl;

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

//vtoroe otricatel'noe 4islo

{

if(a[i]<0) { poll=a[i];pozz=i;break;}

}

cout <<"vtoroe otricatel'noe 4islo="<<poll<<endl;

for (i=poz+1;i<pozz;i++){

sum+=a[i];}

cout <<"summa="<<sum<<endl;

return 0;}

Задания для лабораторной работы:

1. Дан массив размера N. Вывести его элементы в обратном порядке.

2. Дан массив размера N. Вывести вначале его элементы с четными индексами, а затем - с нечетными.

3. Дан целочисленный массив A размера 10. Вывести номер первого и последнего из тех его элементов A[i], которые удовлетворяют двойному неравенству: A[1] < A[i] < A[10]. Если таких элементов нет, то вывести 0.

4. Дан целочисленный массив размера N. Преобразовать его, прибавив к четным числам первый элемент. Первый и последний элементы массива не изменять.

5. Дан целочисленный массив размера N. Вывести вначале все его четные элементы, а затем - нечетные.

6. Поменять местами минимальный и максимальный элементы массива размера 10.

7. Заменить все отрицательные элементы целочисленного массива размера 10 на минимальное значение элементов массива.

8. Дан массив размера N. Осуществить сдвиг элементов массива вправо на одну позицию.

9. Дан массив размера N и число k (0 < k < 5, k < N). Осуществить циклический сдвиг элементов массива влево на k позиций.

10. Проверить, образуют ли элементы целочисленного массива размера N арифметическую прогрессию. Если да, то вывести разность прогрессии, если нет - вывести 0.

11. Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то вывести 0, если нет, то вывести номер первого элемента, нарушающего закономерность.

12. Дан массив размера N. Определить количество участков, на которых его элементы монотонно возрастают.

13. Дан массив размера N. Определить количество его промежутков монотонности (то есть участков, на которых его элементы возрастают или убывают).

14. Дан целочисленный массив размера N. Определить максимальное количество его одинаковых элементов.

15. Дан целочисленный массив размера N. Если он является перестановкой, то есть содержит все числа от 1 до N, то вывести 0, в противном случае вывести номер первого недопустимого элемента.

16. Дан целочисленный массив размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии - количество этих элементов (длина серии

Контрольные вопросы:

1. Каким образом определяются переменные типа массив (одномерный и двумерный)?

2. Как осуществляется доступ к отдельному элементу одномерного и двумерного массива?

3. Каким образом выводятся элементы массива на экран?

4. Приведите пример фрагмента программы, который выводит на экран массив.

5. Сколько чисел можно записать в шестимерный массив X: Array[0..1, 0..1, 0..1, 0..1, 0..1, 0..1] of Integer?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: