Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Динамические массивы в С++

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Объявление, выделение, освобождение памяти под динамические массивы. Обращение к элементам. Решение задач с использованием динамических массивов на языке C++. Разработка и реализация программы для формирования и обработки динамического двумерного массива.
Краткое сожержание материала:

Размещено на

СОДЕРЖАНИЕ

двумерный динамический массив программа

  • ВВЕДЕНИЕ
  • Глава 1. Динамические массивы в С++
  • 1.1 Объявление и инициализация массива
  • 1.2 Доступ к элементам массива
  • 1.3 Рабочий размер массива
  • 1.4 Многомерные массивы
  • 1.5 Указатели, динамические массивы
  • 1.6 Использование адресов и указателей при работе с динамическими массивами
  • 1.7 Формирование динамических массивов с использованием библиотечных функций
  • 1.8 Формирование динамических массивов с использованием операций new и delete
  • Глава 2. Разработка прикладной программы. Представление
  • 2.1 Функции, требования к программе
  • 2.2 Анализ и исследование результата работы программы
  • Выводы

ВВЕДЕНИЕ

Информационные технологии развиваются очень быстро, гораздо быстрее развития человека. Знания опережают время, поэтому мы все чаще наблюдаем развитие какой-либо технологии или выход в свет очередного компьютерного новшества. Создатели этого чуда - в своем роде гении и мастера своего дела. Это программисты, или люди, которые занимаются разработкой программных продуктов. Не очевидно, но факт, что таких людей с каждым днем становится все больше и больше. В своем арсенале они используют множество языков программирования, большинство из которых широко известны [2].

Одним из мощнейший языков программирования является Си++, который был разработан Бьерном Страуструпом в 1979 году и остается актуальным по сей день. По своим функциональным возможностям Си++ должен был заменить язык Си ввиду недостаточной функциональности. Основное новшество, добавленное в язык Си++, это большой набор встроенных библиотек и возможность работы с объектно-ориентированным программированием. С уверенностью можно отметить, что язык Си++ поистине великий язык для успешного старта в области программирования [3].

Актуальность темы курсовой работы заключается в том, что ни один язык программирования не обходится без описанной структуры данных. Двумя самыми распространенными структурными (нескалярными) типами данных являются массивы и записи. Необходимо отметить и то, что современные концепции типов данных развиваются на протяжении последних 40 лет. В ранних языках программирования все структуры данных, соответствующие конкретным задачам, моделировались небольшим количеством основных структур данных, поддерживаемых этими языками.

Одним из мощнейших средств языка Си++ являются динамические массивы. Их основное отличие от обычных массивов заключается в том, что они хранятся в динамической памяти [5].

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

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

Для достижения поставленной цели нами были поставлены следующие задачи:

1. Исследовать аспекты изучения темы: объявление, выделение и освобождение памяти под динамические массивы, обращение к элементам, научиться решать задачи с использованием динамических массивов на языке C++.

2. Разработать программу для формирования и обработки динамического двумерного массива, заполнить его случайными числами и проверить ее реализацию.

3. Оценить эффективность использования динамического распределения памяти в массивах

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

В главе 2разработан алгоритм решения задачи и программа, которая для целочисленной матрицы, определяет среднее арифметическое ее элементов и количество положительных элементов в каждой строке.

ГЛАВА 1. ДИНАМИЧЕСКИЕ МАССИВЫ В С++

1.1 Объявление и инициализация массива

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

Отдельная единица данных, входящая в состав массива, называется элементом массива. Доступ к элементам массива осуществляется по их порядковому номеру. Все элементы массива относятся к одному типу данных и имеют одинаковый размер.

Использованию массива в программе предшествует его объявление, резервирующее под массив определенное количество памяти. При объявлении массива следует указать его имя, размер (количество элементов) и тип элементов:

Следует отметить, что размер массива не может быть изменен в процессе работы программы.

В следующем примере объявляется массив, состоящий из 10 элементов типа int:

Размер массива определяется некоторой целочисленной константой. Переменные величины не могут использоваться для задания размера массива (допускается лишь использование именованных констант).

Одновременно с объявлением массива, можно инициализировать его элементы. В следующем примере мы укажем начальные значения для элементов массива Q:

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

1.2 Доступ к элементам массива

Обращение к элементу массива осуществляется по имени массива и порядковому номеру элемента - индексу. Индекс указывается в квадратных скобках после имени массива. При этом нумерация элементов массива начинается с нуля. Индекс элемента не должен превышать фактическое количество элементов в массиве. В противном случае, возможны непредсказуемые ошибки в процессе работы программы. Элементы массива можно использовать в программе таким же образом, как и обычные переменные: они могут участвовать выражениях, указываться в качестве параметров при вызове функций, и изменять свое значение при помощи операторов присваивания, инкремента/декремента и т.п.

В следующих трех примерах мы объявим массив Q, состоящий из трех элементов типа int, присвоим элементам начальные значения и выведем все элементы массива на экран.

1.3 Рабочий размер массива

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

В качестве решения данной проблемы можно объявить массив с заведомо большим размером, чем может потребоваться на этапе выполнения программы, и, впоследствии, работать только с частью из этих элементов. В таком случае массив будет характеризоваться двумя размерами: фактическим и рабочим. Фактический размер массива - размер, указанный при объявлении массива - максимальное количество элементов с которым может работать программа. Фактический размер является постоянной величиной. Рабочий размер массива - это количество элементов, которые используются в программе н...

Другие файлы:

Программирование на С++
Книга содержит исчерпывающую информацию о языке программирования C++. Помимо стандартных тем, таких как объявление переменных, операторы выбора, циклы...

Программирование на C++
Книга содержит исчерпывающую информацию о языке программирования C++. Помимо «стандартных» тем, таких как объявление переменных, операторы выбора, цик...

Статические и динамические массивы
Специфические типы массивов. Составление программы по вычислению произведения матриц. Нахождение наибольшего элемента в массиве. Вывод номера строки и...

Программирование на языке Object Pascal
Элементы языка Object Pascal: идентификаторы, константы, переменные, выражения. Структура проекта Delphi. Операторы и метки. Типы данных языка OPascal...

Массивы в РНР
Понятие и функциональные возможности индексных массивов, принципы их формирования. Особенности использования функции array, range. Ассоциативные масси...