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

Вариант №4

Осуществить точный поиск заданной с клавиатуры произвольной последовательности символов (строки) в файле Input.txt. Вывести на экран и в файл Output.txt искомую строку, количество совпадений, а также номер строки и столбца (позиции символа в строке), в которых находится первый символ совпадения.

Программа должна обеспечивать многократный поиск, т.е. по окончании процесса поиска повторно предлагать ввести строку для поиска. Выход из программы осуществляется, если была введена пустая строка. Файл Output.txt должен обновляться на диске каждый раз по окончании поиска (т.е. содержимое буфера ввода-вывода нужно принудительно отправлять на диск).

Методические указания:

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

В C существует 2 группы функций для работы с файлами:

  • верхнего уровня (форматированный доступ к файлам), основные из них:

fopen, fread, fwrite, fscanf, fprinf, fgetc, fgets, fclose, feof

  • нижнего уровня (неформатированный доступ к файлам), основные из них:

open, read, write, close, eof

Особенность MS Visual C: к идентификаторам этих функций приписывают вначале знак _ (например, _open). Возможно их написание как со знаком _, так и без него. В библиотеке MSDN в поиске необходимо добавлять этот знак, т.е. искать сочетания _open, _read и т.д.

Для подсчёта количества символов в файле необходимо считывать его содержимое посимвольно, пока файл не будет прочитан полностью (что можно определить с помощью функции eof() или feof()). Другой вариант заключается в использовании функции read, однако следует помнить, что ваша программа должна быть работоспособной для любого сколь угодно большого файла. Эти действия необходимо проделать как для текстового режима работы, так и для бинарного режима. Существует также третий метод определения длины файла, основанный на использовании функций seek() и tell().

При использовании функций read, write, fread, fwrite не забывайте корректно выделять (динамически или статически) и освобождать память, в которую функции будут записывать содержимое файла или откуда они будут считывать записываемые значения.

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

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

Литература: материалы лекций «Указатели»(6), «Массивы»(7), «Инициализация объектов. Работа со строковыми данными»(8). Справочный материал MSDN ("string manipulation routines" и др.).

Лабораторная работа № 6 Алгоритмы сортировки

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

  1. Bubble (метод пузырька)

  2. Exchange (метод обмена)

  3. Insertion (метод вставки)

  4. Shell (метод Шелла)

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

  • -n числовые значения с плавающей точкой, разделённые символом перевода строки.

  • -s – строковые значения, разделённые символом перевода строки.

Например, команда prog.exe numbers.txtn должна запустить сортировку числовых значений, считываемых из файла numbers.txt. Команда prog.exe strings.txts должна запустить сортировку строковых значений, считываемых из файла strings.txt.

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

При запуске программы с неправильным набором параметров программа должна выводить предупреждение и краткую информацию (справку) о формате параметров командной строки.

Методические указания

В отладочном режиме параметры командной строки можно задавать в диалоге Project Settings (меню Project \ Settings), закладка Debug, поле Program Arguments.

Для финального тестирования запустите программу из режима командной строки Windows (Start \ Programs \ Accessories \ Command Prompt) или же создайте для неё ярлык (Shortcut) и впишите в его свойствах после имени .exe файла параметры командной строки, разделённые пробелом. После этого запустите программу, используя ярлык.

Литература: материалы лекций «Указатели»(6), «Массивы»(7), «Особенности работы с функциями»(9), «Функции работы с файлами»(11), «Методы сортировки данных»(13). Справочный материал MSDN ("string manipulation routines" и др.).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]