Практическая работа по теме Создание одномерных и многомерных массивов

  • doc
  • 01.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 07. Практическая работа по теме Создание одномерных и многомерных массивов.doc

Практическая работа №16

Тема: Создание одномерных и многомерных массивов

Цель: систематизация знаний о массивах, закрепление умений и навыков по описанию и обработке массивов.

Вид работы: фронтальная.

Время выполнения: 2 часа.

Теоретический материал:

Массив - это упорядоченный набор однотипных элементов. Массивы можно описывать следующим образом:

тип_данных имя_массива [ размер массива ];

Используя имя массива и индекс, можно адресоваться к элементам массива:

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

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

Вот несколько примеров описания массивов:

char name [20];

int grades [125];

float income [30] [10];

Первый из массивов (name) содержит 20 символов. Обращением к элементам массива может быть name [0], name [1], ...,name[19].

Второй массив (grades) содержит 125 целых чисел. Обращением к элементам массива может быть grades [0],grades [1],...,grades[124].

Третий массив (incom) содержит 300 вещественных чисел, это матрица, т.к. указано два индекса (количество тсрок и столбцов). Обращением к элементам массива может быть income [0] [0], incom[0] [1],...,income[29] [9].

Для обработки одномерного массива применяется один цикл, для совершения операций над матрицами нужны два цикла (для строк и столбцов).

Задания:

1)  Задайте массив S(n) случайным образом. Подсчитайте в нём количество нулевых элементов.

2)  Заполните матрицу случайными целыми числами в диапазоне от -10 до 12. Определите максимальный и минимальный элементы, поменяёте их местами. На экран выведите обе матрицы: исходную и преобразованную.

Ход работы:

В тетрадь оформите блок-схемы и листинги программ

1. Описание одномерного массива может выглядеть так:

int S[50];

Точная размерность массива вводится с клавиатуры после описания. Для заполнения массива случайным образом используются функции randomize() и random(n) из библиотеки stdlib.h. Функция random(n) генерирует набор случайных чисел в диапазоне от 0 до n-1, а функция randomize() меняет сам набор чисел. Подсчёт количества нулевых элементов осуществляется в том же цикле, где происходит заполнение массива:

if (S[i]==0) k++;

Количество равных нулю элементов обозначено переменной k.

2. Для получения случайных чисел из определённого диапазона, например, от -10 до 12 включительно, применим алгоритм: а) определяется разность между границами и прибавляется единица: 12-(-10) +1 = 23; б) записывается генератор случайных чисел от найденной величины с прибавлением начальной границы диапазона: x[i]=random(23). В результате в массиве x будут записаны числа от -10 до 12 включительно.

Предположим, что максимальным и минимальным является нулевой элемент массива, тогда переменным min и max присваивается значение x[0]. Во вложенных циклах происходит сравнение min и max со всеми остальными элементами матрицы: если x[i][j] меньше min, то min присваивает значение x[i][j] и запоминаются номера элемента (например, mini=i; minj=j). Аналогично выбирается максимальный элемент. Затем мин6имальный и максимальный элементы меняются местами: x[mini][minj]=max; x[maxi][maxj]=min;. На экран выводится преобразованная матрица.

Контрольные вопросы и задания:

1)  Дайте определение массива.

2)  Каким образом производится описание массивов в С++?

3)  Назовите библиотеку и её функции, отвечающие за произвольное заполнение массивов.

4)  Опишите трёхмерный массив целых чисел.

5)  Сравните организацию общепринятого вывода матриц в Pascal и С++.


Скачано с www.znanio.ru