4283
Работа с массивами в языке С++
Лабораторная работа
Информатика, кибернетика и программирование
Работа с массивами в языке С++ 1 Цель работы Получение практических навыков в работе с массивами. В ходе выполнения работы необходимо создать программу, которая определяет и инициализирует двумерный массив целых значений и затем выполняет след...
Украинкский
2012-11-15
70.5 KB
22 чел.
Работа с массивами в языке С++
1 Цель работы
Получение практических навыков в работе с массивами.
В ходе выполнения работы необходимо создать программу, которая определяет и инициализирует двумерный массив целых значений и затем выполняет следующие действия:
Программа должна выводить ошибки, если преобразование или заполнение массивов невозможно.
При создании одномерного динамического массива используется оператор new и удаляется он перед концом программы с помощью оператора delete.
Таблица 1.1 Индивидуальные задания
Номер студента в списке |
Преобразование исходного массива (шаг один) |
Заполнение нового массива преобразованными элементами исходного массива (шаг два). Результир. массив должен содержать: |
Количество строк m |
Количество столбцов n |
1 |
Удвоить нечетные элементы |
Квадратные корни минимальных положительных элементов строк |
4 |
3 |
2 |
Четные элементы заменить их квадратами |
Кубические корни минимальных элементов столбцов |
3 |
5 |
3 |
Нулевые элементы заменить на единицы |
Натуральные логарифмы максимальных положительных элементов строк |
3 |
4 |
4 |
Удвоить четные элементы |
Натуральные логарифмы минимальных положительных элементов столбцов |
4 |
5 |
5 |
Все элементы заменить на их модули |
Минимальные элементы столбцов |
5 |
4 |
6 |
Утроить четные элементы |
Кубические корни диагональных элементов |
3 |
3 |
7 |
Все положительные элементы заменить их десятичные логарифмы |
Суммы отрицательных элементов столбцов |
4 |
5 |
8 |
Все отрицательные элементы заменить на их квадраты |
Квадратные корни диагональных элементов |
4 |
4 |
9 |
Все положительные элементы заменить на их натуральные логарифмы |
Произведение отрицательных элементов строк |
5 |
4 |
10 |
Все положительные элементы заменить на их квадратные корни |
Максимальные положительные элементы строк |
3 |
5 |
11 |
Удвоить положительные четные элементы |
Кубические корни максимальных элементов столбцов |
5 |
4 |
12 |
Утроить отрицательные нечетные элементы |
Квадратные корни минимальных положительных элементов столбцов |
3 |
4 |
13 |
Удвоить отрицательные нечетные элементы |
Сумму десятичных логарифмов положительных элементов строк |
4 |
3 |
14 |
Утроить положительные четные элементы |
Частное от деления максимальных положительных элементов столбцов на их десятичные логарифмы |
3 |
5 |
Чтобы использовать стандартные математические функции вам необходимо подключить заголовочный файл cmath. В таблице 1.2 представлены некоторые используемые функции.
Таблица 1.2 Используемые функции
double sqrt(double x); |
Берет квадратный корень положительного числа |
double pow(double x, double y); |
Возводит x в степень y |
double log(double x); |
Вычисляет натуральный логарифм |
double log10(double x); |
Вычисляет десятичный логарифм. |
int abs(int x); |
Возвращает модуль целого числа |
double fabs(double x); |
Возвращает модуль вещественного числа |
double sin(double x); |
Вычисляет синус числа |
double cos(double x); |
Вычисляет косинус числа |
double atan(double x); |
Вычисляет тангенс числа |
2 Теоретические сведения
2.1Массивы
Массивы относятся к так называемым сложным, или составным типам данных. Массив - это структура данных, состоящая из элементов одного типа. В отличие от других структур данных (например, списков), элементы массивов всегда последовательно расположены в памяти.
При объявлении массива после идентификатора в квадратных скобках задается константа (в частности именованная или константное выражение) - число элементов массива:
int a[5]; // Массив из пяти элементов типа int
const int n = 5;
double a1[n]; // Массив из пяти элементов типа double
Число элементов массива нельзя задавать переменной или неконстантным выражением. Массив может инициализироваться списком значений в фигурных скобках:
int b[4] = {1, 2, 3, 4};
При наличии списка инициализации, охватывающего все элементы массива, можно не указывать число элементов массива, оно будет определено компилятором:
int c[] = {1, 2, 3}; // Массив из трех элементов типа int
Если размерность массива больше числа значений в списке, то не инициализированные явно элементы массива будут установлены в 0 (значение по умолчанию). Если размерность массива меньше числа значений в списке, возникнет ошибка компиляции.
Один массив не может инициализироваться другим массивом и не может быть присвоен другому массиву. Чтобы скопировать один массив в другой, необходимо скопировать каждый элемент по очереди в цикле.
Доступ к каждому элементу осуществляется по его номеру в массиве (индексу), который указывается после имени массива в квадратных скобках. В качестве индекса массива может использоваться любое выражение, которое приводится к целочисленному значению. Индексы элементов массива всегда начинаются с 0, индекс последнего элемента на единицу меньше числа элементов в массиве. Размерность массива известна транслятору только в момент определения массива. При использовании стандартных массивов невозможен какой-либо автоматический контроль выхода за пределы массива.
2.2 Многомерные массивы
Массивы с размерностью 2 и более рассматриваются как массивы массивов и для каждого измерения указывается число элементов:
double aa[2][2] = {1, 2, 3, 4}; // Матрица 2 * 2
То же самое, но более наглядно:
double aa[2][2] = {{1, 2},
{3, 4}};
Первая размерность - это размерность по строкам, а вторая - по столбцам. При инициализации списка значений вторая и последующие размерности должны указываться явно.
Для индексирования в многомерном массиве требуется пара скобок для каждого измерения:
int i = 0, j = 1;
aa[i][j] = i + j;
Элементы многомерных массивов в памяти выстраиваются в одномерную структуру (массив), в которой в начале стоят элементы первой строки, потом второй и т.д.
3 Порядок выполнения работы
1. Разработать алгоритм для решения поставленной задачи.
2. Разработать программу для решения поставленной задачи (использовать условные операторы и операторы цикла).
3. Проверить работоспособность программы на тестовых данных.
4. Сохранить результаты работы. Оформить отчет по лабораторной работе.
Содержание отчета:
А также другие работы, которые могут Вас заинтересовать | |||
2715. | Загрязнение Мирового океана. Очистка сточных вод | 30 KB | |
Загрязнение Мирового океана. Очистка сточных вод Цели: изучение основных видов загрязнения водных ресурсов Земли; показать, что в последние годы объемы и скорость выбросов в водную среду превосходят возможности биосферы к их разбавлению ... | |||
2716. | Организм и среда | 31.84 KB | |
Организм и среда Для учителя. Данное задание может быть использовано на разных этапах обучения: от начального до завершающего. В таблице записаны несколько основных свойств живых организмов и особенности взаимодействия организма с окружающей с... | |||
2717. | Занятие на тему Экологические права граждан | 26.3 KB | |
Занятие на тему Экологические права граждан Цель занятия, 1. Способствовать повышению уровня экологических правовых знаний 2. Показать ученикам, какими экологическими правами обладает гражданин нашей страны на конкретных примерах – ситуациях.... | |||
2718. | Азот и фосфор — элементы жизни | 26.04 KB | |
Азот и фосфор — элементы жизни. Урок-игра Счастливый случай. Химия для гуманитариев Цели. Обобщить знания учащихся о составе и свойствах соединений азота и фосфора. Развить практические умения определять вещества по качественным реакция... | |||
2719. | Антропогенные факторы воздействия на биогеоценозы | 64.5 KB | |
Антропогенные факторы воздействия на биогеоценозы Цели: Выделить главные факторы влияния человека на окружающую среду. Способствовать развитию речи, навыков самостоятельной работы, коммуникативных способностей учащихся. Способствовать воспитанию у д... | |||
2720. | Планеты земной группы. Планеты-гиганты | 77 KB | |
Астрономия - 11-й класс. Базовый курс. Планеты земной группы; Планеты-гиганты Тема: Планеты земной группы. Урок по методу проектов. Астрономия – 11 класс. Базовый курс. Дать новые знания. Разобрать основные особенности планет земной группы. Дать представление о проектной деятельности и разработать элементарный проект по заданной проблеме. | |||
2721. | Атомная энергетика и ее экологические проблемы | 35.59 KB | |
Атомная энергетика и ее экологические проблемы Цели: На основе многочисленных достоверных фактов анализировать и привести выводы по следующим вопросам: Существует ли опасность мирного атома? Опасна ли атомная энергетика? Загрязнении... | |||
2722. | Темперамент личности | 161.44 KB | |
Бинарный урок по теме: Темперамент личности Одним из факторов активизации познавательной деятельности учащихся является проведение так называемых нетрадиционных уроков по различным предметам. Учащиеся не только узнают новое в каком-то необычном ра... | |||
2723. | Через тернии – к звездам | 69.62 KB | |
Внеклассное мероприятие, посвященное Дню космонавтики. КВН Через тернии – к звездам Пояснительная записка По данному сценарию я дважды проводила внеклассное мероприятие, посвящённое Дню Космонавтики: 12 апреля 2001 года (к 40-летию со дня пол... | |||