Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
38
Добавлен:
03.03.2016
Размер:
48.64 Кб
Скачать

42

ЛАБОРАТОРНА РАБОТА № 9

ИСПОЛЬЗОВАНИЕ ВНЕШНИХ ФАЙЛОВ

Цель работы: Освоение и закрепление методов работы с внешними файлами, а также приобретение навыков разработки и редактирования программ, которые обеспечивают создание файлов, занесение информации в файл и чтение информации из файла.

Требования к выполнению работы:

Сформировать исходную заданную последовательность с помощью программы и сохранить ее в файле.

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

Теоретические положения

При работе с файлами обычно выполняют следующие операции: 1.Описание указателя на файл. Выполняется обязательно до открытия файла. Форма описания следующая:

FILE *pf1, *pf2,…;

где: FILE – это описанный в заголовочном файле stdio.h тип данных, который являет собой буфер для обмена данными с файлом.

2.Открытие файла.

pf=fopen (“<имя файла>”,”<режим>”);

где: pf - описанный раньше указатель на файл;

fopen( ) - функция открытия файла;

(“<имя файла>)”- указывается полное обозначение файла, его идентификатор и тип. Если файл находится не в текущем каталоге, где запущенная программа, то необходимо указать полный путь файла. ”<режим>” - этот параметр определяет тип операции, которая будет выполняться с файлом и режим его работы:

“r” – открытие файла для чтения;

“w” – открытие файла для записи;

“a” – открытие файла для дозаписи;

“+” – добавка к основному режиму, указывает на возможность выполнения операций в соединенном режиме чтение/запись.;

“b” – добавка к основному режиму, указывает, что файл содержит информацию в двоичном коде.

3.Запис/чтение данных.

Для записи данных используется функция

fprintf( pf,“управляющая строка”,”список вывода”);

Для чтения данных из файла используется функция :

fscanf(pf,“управляющая строка”,”список адресов”);

4.Закрытие файла.

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

fclose( указатель на файл);

Варианты индивидуальных заданий :

  1. Даны последовательности х1..., х50 и а12;.;а30. Поменять местами максимальные элементы в этих последовательностях.

  2. Дана последовательность а1, а2 . а30 и числа x и y. Удалить из последовательности числа, которые лежат между x и y.

  3. Дана последовательность a1...a50. Поменять местами первый и последний элементы, и если в последовательности есть равные им элементы, то их удалить.

  4. Дана последовательность a1...a20. Имеется в виду, что в ней есть несколько максимальных элементов. Получить новую последовательность, исключив из исходной все члены с максимальным значением, оставив первый.

  5. Дана последовательность х1...х20. Удалить из нее все элементы, значение которых больше среднего арифметического.

  6. Дана последовательность a1...a20. Имеется в виду, что в ней есть несколько максимальных и минимальных элементов. Получить новую последовательность, исключив из входной последовательности все члены с максимальным или минимальным значениями.

  7. Дана последовательность b1...b40. Добавить в нее значение суммы каждых пяти элементов, уставив их на места, следующие за элементами с номерами 5, 10, 15 и так.

  8. Дана последовательность a1...a20. Имеется в виду, что в ней есть несколько максимальных и минимальных элементов. Получить новую последовательность, исключив из начальной все члены с минимальным значением, оставив первый.

  9. Дана последовательность y1...y50. Удалить все положительные элементы.

  10. Дана последовательность d1...d50. Удалить все отрицательные элементы.

  11. Дана последовательность a1...a50. Удалить все элементы, которые равняются первому элементу, если такие имеются. Сам первый элемент оставить.

  12. Дана последовательность b1...b40. Заменить в ней каждый пятый элемент суммой предыдущих четырех элементов .

  13. Дана последовательность a1...а40. Определить, есть ли в последовательности равных между собой элементов, которые расположены рядом, и если есть, исключить одну из них.

  14. Дана последовательность х1...,х50. Поменять местами наибольший и наименьший элементы.

  15. Дана последовательность a1...a20. Имеется в виду, что в ней есть несколько максимальных элементов. Получить новую последовательность, исключив из начальной все члены с максимальным значением, оставив последний из них.

  16. Дана последовательность b1...b40. Удалить из нее все элементы, значение которых меньше среднего арифметического bср....

  17. Дана последовательность a1...a30. Удалить все элементы, которые равняются последнему элементу, если такие имеются. Сам последний элемент удалить в любом случае.

  18. Дана последовательность b1...b40. Прибавить у нее значение дополнений каждых десяти элементов, уставив их на места, что следующие за 10, 20 и так далее элементами.

  19. Дана последовательность b1...b40. Заменить в ней каждый третий элемент произведением предыдущих двух элементов.

  20. Дана последовательность a1...a30. Заменить каждый элемент суммой предыдущего элемента и максимального.

  21. Даны последовательности х1..., х50 и а1 ,а2, …,а30. Поменять местами минимальные элементы в этих последовательностях.

  22. Дана последовательность а1…а30. поменять местами максимальный и последний элементы, и если в последовательности есть уровни им элементы, то их удалить.

  23. Дана последовательность а1…а20. Имеется в виду, что в ней есть несколько максимальных элементов. Получить новую последовательность, исключив из исходной все члены с максимальным значением, оставив последний.

  24. Дана последовательность а1…а20. Заменить каждый элемент суммой последнего элемента и минимального. Сам же минимальный элемент удалить из последовательности.

  25. Дана последовательность а1...a50. Имеется в виду, что в ней есть несколько элементов, равных последнему. Удалить все элементы, которые равняются последнему элементу. Сам последний элемент оставить.

Соседние файлы в папке Лабы по программированию