![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Использование динамических данных
Цель: Научиться работать с динамическими массивами, размер которых заранее неизвестен.
Код программы: // Функции ввода-вывода #include < iostream> #include < stdio.h> using namespace std; int main() { // Открываем текстовый файл для чтения FILE *f = fopen(" array.txt", " rt"); // В случае неудачного открытия завершаем работу программы if (! f) return 0; // Размер массива int n = 0; // Массив double *arr; // Считываем размер массива из файла fscanf(f, " %d\n", & n); // Если размер некорректен, заверщаем работу программы if (n < = 0) return 0; // Выделяем динамическую память под массив arr = new double[n]; // Заполняем массив, считывая его элементы из файла cout < < " Array: " < < endl; for (int i = 0; i < n; i++) { fscanf(f, " %lf\n", & arr[i]); cout< < arr[i]< < " \t"; } cout< < endl; // Считаем среднее значение, проходя циклом по элементам double mean = 0; for (int i = 0; i < n; i++) { mean += arr[i]; } mean /= n; cout< < " Mean value = " < < mean< < endl; // Очищаем динамическую память delete [] arr; // Закрываем файл fclose(f); system(" pause"); return 0; }
Описание: Для работы с файлом используются функции из заголовочного файла stdio.h. Для открытия файла используется функции fopen, для чтения из файла – функция fscanf. При открытии необходимо проверить корректность операции, если файл открыт некорректно, программа завершает работу. При считывании размера массива из файла необходимо также проверить его корректность: это должно быть положительное число. Для выделения и удаления динамической памяти используются функции new и delete.
Вывод: Для управления динамической памятью в C++ можно использовать функции new и delete. Функция new позволяет создавать динамические массивы – массивы, размер которых определяется на этапе работы программы. В данной работе был создан динамический массив и считан из текстового файла. Проведена работа с данными – вычислено среднее арифметическое в данном массиве.
|