Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум ОА Цымбалюк.doc
Скачиваний:
6
Добавлен:
29.08.2019
Размер:
2.1 Mб
Скачать

Задание №4. Одномерные и многомерные массивы

Цель занятия: Научиться работать с массивами

Студенты должны знать: понятие одномерного и многомерного массива;

уметь: производить подсчёт элементов массива;

Теория.

Линейным массивом в программе на С++ называется упорядоченный набор однотипных переменных, которые располагаются в памяти последовательно. Любой массив характеризуется тремя параметрами: именем, типом элементов и размером. Массив объявляется, например, так: int A[15] – массив 15-ти целых чисел.

Одномерные массивы.

Фрагмент программы для вычисления суммы 10 заданных чисел.

int A[10];

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

{cout <<”A[“<<i<<”]=”; cin >>A[i]}

//ввод данных в массив

int sum=0;

for (int i=0; i<10; i++) sum+=A[i];

cout << “\nSum=”<<sum;

//подсчёт суммы и вывод на экран

Многомерные массивы.

Фрагмент программы нахождения произведения элементов массива

float X[4] [4];

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

for (int j=0; j<4; j++)

{cout <<”X[“<<i<<”,”<<j<<”]=”; cin >>X[i][j] };

//ввод элементов

float p=1; for (int i=0; i<4; i++)

{for (int j=0; j<4; j++) p*=X[i][j];

//вычисление произведения P

Константы.

Для определения типизированной константы используется count тип имя=выражение. Нетипизированная константа определяется так: #define stud 15. Типизированные константы используются для указания размеров массива const int N=4. При работе с массивом предыдущего примера вместо 4 – N.

Инициализация элементов массива при объявлении: тип имя [размер]={значения массива через ,…}. Например, float m[5]={7.3, 2.5, 6.6, 8.0, 4.9}, int F[2][2]={{2,1},{8,9}} или float m[2]; m[0]=1.1; m[1]=1.1;

Задание.

  1. Создайте консольное приложение.

  2. Определите, что будет выведено на экран в результате выполнения инструкций. Объясните работу.

  1. int A[5]={1,2,3,4,5}; cout <<”A[0]=”<<A[0];

  2. int A[5]={5,4,3,2,1}; cout <<”A[4]=”<<A[4];

  3. int b[3]={9,8,7}; cout <<b[0] <<endl <<b[1] <<endl <<b[2];

  4. int g[2][2]={{1,2},{3,4}}; for (int i=2; i>=0; i--) cout << g[i][i];

  5. int C[5]; for (int i=0;i<5;i++) C[i]=2*i; cout <<C[3];

  6. int DDD[5]; for (int k=0;k<5;k++) {DDD[k]=0.; cout <<”!”;}

  7. int E[3]={0,1,2}; E[0]++; int r=E[0]+E[1]+E[2]; cout << r;

  8. int f[3]={0,1,2}; for (int k=2; k>=0; k--) cout <<f[k];

  9. int f[3]={2,1,0}; for (int k=2; k>=0; k--) cout <<f[k];

  10. int g[2][2]={{1,2},{3,4}}; for (int i=0; i<2; i++) cout << g[i][i];

  11. int H[2][2]={{5,6},{7,8}}; for (int i=0;i<2;i++) cout << H[i][1-i];

  12. int H[2][2]={{5,6},{7,8}}; for (int i=2;i>=0;i--) cout << H[i][1-i];

  1. Одномерные массивы. Напишите программу для решения задачи:

  1. Заполнить массив N чисел значениями и вывести на экран сумму элементов с чётными номерами.

  2. Заполнить массив N чисел значениями и вывести на экран сумму элементов с нечётными номерами.

  3. Заполнить массив N чисел значениями и вывести на экран сумму чётных элементов массива.

  4. Заполнить массив N чисел значениями и вывести на экран сумму нечётных элементов массива.

  5. Заполнить массив N чисел значениями и вывести на экран только положительные элементы массива.

  6. Заполнить массив N чисел значениями и вывести на экран только отрицательные элементы массива.

  7. Заполнить массив N чисел значениями и вывести на экран в обратном порядке.

  8. Заполнить массив N чисел значениями и вывести на экран произведение элементов с чётными номерами.

  9. Заполнить массив N чисел значениями и вывести на экран произведение элементов с нечётными номерами.

  10. Заполнить массив N чисел значениями и вывести на экран произведение чётных элементов массива.

  11. Заполнить массив N чисел значениями и вывести на экран произведение нечётных элементов массива.

  12. Заполнить массив N чисел значениями и вывести на экран их среднее арифметическое.

  1. Многомерные массивы. Напишите программу для решения задачи:

  1. Дана квадратная матрицы А размером 3х3. Найти сумму диагональных элементов матрицы.

  2. Дана квадратная матрицы А размером 3х3. Найти произведение диагональных элементов матрицы.

  3. Дана квадратная матрицы А размером 3х3. Найти сумму элементов на побочной диагонали матрицы.

  4. Дана квадратная матрицы А размером 3х3. Найти произведение элементов на побочной диагонали матрицы.

  5. Даны две квадратные матрицы А и В размером 3х3. Требуется найти С=А – В.

  6. Даны квадратная матрицы А размером 3х3 и число t. Требуется найти С=t*А.

  7. Даны две квадратные матрицы А и В размером 3х3. Требуется найти С=А+В.

  8. Даны две квадратные матрицы А и В размером 3х3. Требуется найти С= В – А.

  9. Даны две квадратные матрицы А и В размером 3х3. Требуется найти С=А х В.

  10. Дана квадратная матрицы А размером 3х3. Требуется вычислить определитель матрицы.

  11. Дана квадратная матрицы А размером 3х3. Требуется отобразить её элементы относительно главной диагонали.

  12. Дана квадратная матрицы А размером 3х3. Требуется поменять местами главную и побочную диагональ матрицы.

Сдайте работу преподавателю

Вопросы для контроля и самоконтроля:

  1. Общие формы объявления одномерного и двумерного массивов. Доступ к элементам массива.

  2. Использование циклов при обращении к элементам массива.

  3. Какой номер у первого и последнего элемента массива?

  4. Типизированные константы – объявление и инициализация. Пример.