4283

Работа с массивами в языке С++

Лабораторная работа

Информатика, кибернетика и программирование

Работа с массивами в языке С++ 1 Цель работы Получение практических навыков в работе с массивами. В ходе выполнения работы необходимо создать программу, которая определяет и инициализирует двумерный массив целых значений и затем выполняет след...

Украинкский

2012-11-15

70.5 KB

22 чел.

Работа с массивами в языке С++

1 Цель работы 

Получение практических навыков в работе с массивами.

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

  •  чтение данных с консоли;
  •  преобразование исходного массива в соответствии с шагом один из индивидуального задания;
  •  создание и заполнение нового (одномерного) массива типа double  элементами, полученными в соответствии с шагом два из индивидуального задания;
  •  вывод результатов (оба массива).

Программа должна выводить ошибки, если преобразование или заполнение массивов невозможно.

При создании одномерного динамического массива используется оператор 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. Сохранить результаты работы. Оформить отчет по лабораторной работе.

Содержание отчета:

  1.  Титульный лист.
  2.  Название лабораторной работы.
  3.  Цель лабораторной работы.
  4.  Ход выполнения работы (включить алгоритм решения задачи; программный код; пример использования программы).
  5.  Выводы по проделанной работе c описанием ошибок, с которыми Вы столкнулись при выполнении лабораторной работы.


 

А также другие работы, которые могут Вас заинтересовать

26076. Материальная выгода. Налогообложение материальной выгоды 37.5 KB
  Налогообложение материальной выгоды В последнее время широкое распространение получила продажа товаров населению в кредит. И мало кто из покупателей подозревает что в такой ситуации у него может появиться доход называемый материальной выгодой. Статьей 212 НК РФ установлены особенности исчисления доходов получаемых в виде материальной выгоды. Экономия на процентах и материальная выгода Это один из наиболее часто встречающихся видов материальной выгоды.
26077. Отчетность крестьянских (фермерских) хозяйств и других предприятиях малого бизнеса 39 KB
  При составлении бухгалтерской отчетности необходимо руководствоваться Законом РФ О бухгалтерском учете и отчетности и постановлением Минфина РФ от 07. Бухгалтерская отчетность малого предприятия Закон № 209ФЗ пунктом 3 статьи 7 предусматривает упрощенный порядок составления субъектами малого и среднего предпринимательства статистической отчетности.2003 № 67н О формах бухгалтерской отчетности организаций далее Приказ № 67н. Согласно пункту 2 статьи 13 Закона № 129ФЗ бухгалтерская отчетность организаций имеющих статус субъектов малого...
26078. Бухгалтерский и налоговый учет амортизации основных средств 39 KB
  Амортизационные отчисления – это денежное выражение размера амортизации которое должно соответствовать степени износа основных фондов. Норма амортизации – это установленный размер амортизационных отчислений за определенный период времени по конкретному виду основных средств выраженных как правило в процентах к балансовой стоимости. Объектами для начисления амортизации являются объекты основных средств находящиеся в организации на праве собственности хозяйственного ведения оперативного управления.
26079. Бюджетная система РФ‚ её структура и принципы функционирования 35.5 KB
  Согласно БК РФ все действующие на территории Российской Федерации бюджеты представляют в совокупности определенную систему которая называется бюджетной системой которая состоит из бюджетов трех уровней: первый уровень федеральный бюджет и бюджеты государственных внебюджетных фондов; второй уровень бюджеты субъектов Российской Федерации и бюджеты территориальных государственных внебюджетных фондов; третий уровень местные бюджеты ст. Правовая форма бюджетов всех уровней описывается в статье 11. Бюджет субъекта Российской Федерации и...
26080. Оформление результатов аудиторской проверки 49 KB
  В акте аудиторской проверки с достаточной подробностью и доказательностью однако без включения малосущественных деталей аудиторы сообщают клиенту о проделанной работе о ее основных направлениях и о том какие из этих направлений подвергнуты сплошной проверке а какие выборочной. Акт аудиторской проверки является строго конфиденциальным документом с содержанием которого аудиторы не вправе без согласия на это клиента знакомить третьих лиц за исключением случаев предусмотренных действующим законодательством выявление хищений...
26081. Горизонтальный, вертикальный и трендовый анализ баланса 28 KB
  Изменение удельного веса отдельных статей позволяет отслеживать и прогнозировать структурные изменения в составе активов и их источников покрытия. Анализ динамики валюты баланса структуры активов и пассивов организации позволяет сделать ряд важных выводов необходимых как для осуществления текущей финансовохозяйственной деятельности так и для принятия управленческих решений на перспективу. Исследование изменения структуры активов организации позволяет получить важную информацию. Так увеличение доли оборотных средств в имуществе может...
26082. Государственная поддержка малых форм хозяйствования в аграрном секторе 33 KB
  Малые формы хозяйствования на селе без поддержки государства и без собственного внутригруппового взаимодействия не всегда способны успешно противостоять в конкурентной борьбе крупному капиталу отстаивать свои экономические политические и социальные интересы поэтому формирование системы государственной поддержки малых форм хозяйствования на селе является одним из ключевых моментов в решении задач агропродовольственной политики. Главным принципом государственной поддержки малых форм хозяйствования является создание экономических и правовых...
26083. Государственное регулирование экономики: необходимость, сущность, объекты, цели, методы 31 KB
  Особая роль государства в развитии аграрной сферы объективно обусловлена рядом причин. Таким образом активная аграрная политика государства является необходимым условием нормального развития сельского хозяйства в любой стране. Из этой главной двуединой задачи государства в области сельского хозяйства вытекает целый ряд более конкретных задач которые также носят долговременный стратегический характер: содействие научнотехническому прогрессу и росту эффективности производства в сельском хозяйстве; поддержание эквивалентности в...
26084. Органы управления финансами в Российской Федерации 64.5 KB
  Депутаты обеих палат Федерального Собрания Российской Федерации рассматривающие и утверждающие проект закона о федеральном бюджете и отчете о его исполнении другие финансовые и связанные с ними законодательные акты правительственные программы могут обладая правом законодательной инициативы вносить на рассмотрение проекты финансовых законодательных актов поправки в действующее законодательство. Государственная Дума заслушивает отчет Правительства Российской Федерации об исполнении федерального бюджета. Государственная Дума и Совет...