4 Текстовые файлы
Исходные данные находятся в текстовом файле(-ах). Результаты обработки записать в другой(-ие) текстовый(-ые) файл(-ы). Имена файлов задает пользователь в режиме диалога. Проверка исходного файла(-ов) на существование обязательна. Для тестирования задачи подготовить несколько текстовых файлов, содержащих различную информацию. В программе должна быть возможность просмотра и редактирования содержимого файлов без выхода в оболочку среды разработки.
Файл содержит информацию в виде символьных строк произвольной длины. Переписать информацию в другой файл, выполнив операцию «Форматирование абзаца». Параметры абзаца: ширина строки - N символов, отступ справа - N1 символов, отступ слева - N2 символов, «красная строка» - N3 символов, «маркер абзаца» - заданный символ. Параметры «страницы»: высота страницы (количество строк) - заданное M, отступ сверху - количество строк M1; отступ снизу - количество строк M2; нумерация строк - признак «да»/ «нет», если «да» - месторасположение номера страницы: справа, слева, посередине.
Файл содержит информацию в виде символьных строк произвольной длины. Переписать информацию в другой файл, выполнив операцию «Форматирование». Ширина страницы - N символов, высота страницы - M строк, заданный пользователем символ показывает абзац, т.е. остаток строки за этим символом в новый файл не переписывается.
Файл содержит текст и размеры страницы (ширина страницы - N символов, высота страницы - M строк, отступ справа - N1 символов, отступ слева - N2 символов, отступ сверху - M! строк; отступ снизу - M2 строк). Создать два файла, содержащих: первый файл - нечетные, второй - четные страницы текста (тогда можно распечатать первый файл, затем перевернуть бумагу и распечатать второй файл).
Из двух заданных файлов, содержащих строки произвольной длины, сформировать новый файл, содержащий строки по N символов. Каждая строка результирующего файла содержит N1 символов из 1-го файла, N2 пробелов и остальные символы (N-N1-N2) из 2-го файла (так печатают параллельные двуязычные тексты).
В файле хранится информация, записанная азбукой Морзе («буквы» разделены пробелами). Переписать информацию в новый файл таким образом, чтобы каждая «буква» хранилась в отдельной строке. Текст «зашифровать» следующим образом: поменять первую строку с последней, а вторую - с предпоследней и т.д.
В файле хранится информация, записанная азбукой Морзе («буквы» разделены одним пробелом, а «слова» - произвольным числом пробелов). В новый файл записать информацию таким образом, чтобы каждое «слово» хранилось в отдельной строке (знаки препинания в новый файл не переписываются).
Файл содержит информацию в виде символьных строк (слова разделены произвольным числом пробелов и знаками препинания). Два других файла содержат целые числа. В новый файл переписать слово из первого файла и сумму соответствующих чисел из двух других файлов. Каждая «пара» должна располагаться в отдельной строке результирующего файла.
В файле хранится информация следующего вида: слово и число его повторений. В новый файл записать слова, повторив их столько раз, сколько указано. При формировании нового файла учесть, что он должен иметь заданную ширину страницы N.
В файле хранится информация о музыкальных группах в виде: название группы, количество голосов, отданных ей слушателями. В новом файле группы расположить в порядке, соответствующем занятому ими месту.
В файле хранится информация о студентах в виде: фамилия, группа. Создать новый файл, разделив студентов по группам (каждая группа - отдельный файл).
Файл содержит информацию в виде символьных строк произвольной длины. В каждой строке в словах поменять местами буквы с четными и нечетными номерами (первая-вторая, третья-четвертая и т.д.). В новый файл записать измененные строки, не записывая в него пробелы и знаки препинания.
В каждой строке файла хранится информация о студенте в виде: фамилия, несколько оценок за последнюю сессию (произвольное количество). Создать новый файл, содержащий информацию о студентах и размере стипендии, которую они получают («стипендиальный приказ»). В начало результирующего файла поместить фамилии студентов-отличников, получающих повышенную стипендию (+50% к обычной стипендии), затем студентов-хорошистов - более половины отличных оценок (+25% к обычной стипендии), затем студентов-хорошистов, которые получают обыкновенную стипендию. В отдельные файлы поместить список отчисляемых студентов («приказ на отчисление») и студентов, не получающих стипендию.
Файл содержит информацию в виде символьных строк произвольной длины. Провести частотный анализ текста: посчитать количество слов, начинающихся на различные буквы русского и английского алфавита. В новый файл в каждую строку записать букву и количество слов, начинающихся на эти буквы. В начало файла поместить информацию о русском алфавите, затем об английском.
В каждой строке файла хранится информация об абонентах телефонных станций в виде: фамилия, телефон. Переписать в новый файл информацию в следующем виде:
№ АТС (две первые цифры номера)
Абонент 1
Абонент 2
Абонент 3
…
В каждой строке файла хранится информация о реках в виде: название, протяженность в километрах. Создать новый файл, в который поместить информацию о реках в порядке уменьшения их протяженности.
Файл содержит информацию в виде символьных строк произвольной длины. В каждую строку нового файла записать по одному слову и заключить его в скобки. Подсчитать в тексте количество слов, и дописать его в конец результирующего файла.
Файл содержит информацию в виде символьных строк произвольной длины. Подсчитать в тексте количество слогов заданного вида. В новый файл записать текст в виде слов, разделенных запятыми, сохранив структуру исходного файла. Слова, содержащие указанный слог, дополнительно заключить в скобки.
Файл содержит информацию в виде символьных строк произвольной длины. В новый файл записать слова-палиндромы (палиндромом называется слово, которое читается в двух направлениях одинаково, например, «шалаш», «кок») или сообщение об отсутствии таковых в исходном файле. Каждое слово должно располагаться в отдельной строке файла.
Файл содержит информацию в виде символьных строк произвольной длины. Провести частотный анализ текста: посчитать, сколько различных символов встречается в данном тексте. В новый файл записать информацию в виде гистограммы: символ + количество *, равное числу этих символов в тексте.
Пример:
А ********************** (символ ‘А’ встречается в тексте 22 раза)
В ************ (символ ‘В’ встречается в тексте 12 раз)
Х ******* (символ ‘Х’ встречается в тексте 7 раз)
{ *** (символ ‘{‘ встречается в тексте 3 раза)
Файл содержит информацию в виде символьных строк произвольной длины. Из строки получить матрицу заданного размера. Если матрица квадратная, то поменять местами элементы главной и побочной диагоналей, в противном случае - элементы двух столбцов (размерность матрицы и номера столбцов хранятся в другом файле).
В файле хранится последовательность действительных чисел в произвольном формате (фиксированном или плавающем) произвольной длины. Проверить правильность «структуры файла»: наличие в нем только чисел в достаточном количестве чисел (не менее
).
Получить матрицу
,
преобразовать ее следующим образом:
поменять местами элементы главной
диагонали и заданного столбца, элементы
побочной диагонали обнулить.
Преобразованную матрицу записать в
другой файл. В файле хранится матрица
целых чисел. Проверить правильность
«структуры файла»: наличие в нем только
целых чисел, заданного числа строк,
заданного числа элементов в каждой
строке. Получить две матрицы
,
сложить их, а результат дописать в конец
исходного файла, пропустив пустую
строку.В файле хранится матрица
целых чисел. Проверить правильность
«структуры файла»: наличие в нем только
целых чисел, заданного числа строк,
заданного числа элементов в каждой
строке. Получить три вектора, один из
которых содержит все элементы матрицы,
находящиеся над побочной диагональю,
другой - под побочной диагональю
(диагональ не учитывать), третий -
содержит элементы самой диагонали. В
новый файл записать три вектора, каждый
в своей строке.В файле хранится матрица
действительных чисел. Проверить
правильность «структуры файла»: наличие
в нем только чисел, заданного числа
строк (четного), заданного числа элементов
в каждой строке. Получить четыре матрицы
.
Во второй и четвертой матрицах обнулить
главную диагональ, а в первой и третьей
- побочную. Результаты записать в четыре
новых файла (см. рисунок 1.2).В файле хранится матрица
.
Проверить правильность «структуры
файла»: наличие в нем только чисел,
заданного числа строк (четного), заданного
числа элементов в каждой строке. Получить
четыре матрицы
.
Поменять местами элементы главной
диагонали первой матрицы с элементами
побочной диагонали четвертой матрицы,
элементы побочной диагонали третьей
матрицы с элементами главной диагонали
второй матрицы (см. рисунок 1.2). Результаты
записать в четыре новых файла.В файле хранится матрица символов
.
В матрице заменить все символы одного
образца на символы другого. В другой
текстовый файл переписать данную
матрицу в обратном порядке (первая
строка становится последней, вторая
предпоследней и т. д. ).В файле хранится квадратная матрица нечетного размера
.
Проверить правильность «структуры
файла»: наличие в нем только чисел,
заданного числа строк (нечетного),
заданного числа элементов в каждой
строке. В матрице перемножить
соответствующие элементы главной и
побочной диагоналей (по строкам и по
столбцам). Полученные вектора значений
записать в начало нового файла (каждый
вектор в отдельной строке). Если
«центральный» элемент матрицы равен
нулю, то обнулить элементы в строке и
в столбце, следующими за «центральными».
После выполненных преобразований
исходный файл «обновить».В файле хранится две матрицы
в виде: первая матрица, пустая строка,
вторая матрица. Проверить правильность
«структуры файла»: наличие в нем только
чисел, двух матриц, заданного числа
строк, заданного числа элементов в
каждой строке. Перемножить эти матрицы,
а результат записать в новый файл. В
исходном файле матрицы хранятся в
следующем виде: первая матрица, пустая
строка, вторая матрица.В файле хранится матрица
действительных чисел. Проверить
правильность «структуры файла»: наличие
в нем только чисел, заданного числа
строк, заданного числа элементов в
каждой строке. В новый файл записать
матрицу и вектор, содержащий сумму
элементов строк I и III секторов. Дописать
в файл сумму положительных и количество
отрицательных элементов матрицы (см.
рисунок 1.1).В файле хранится матрица
действительных чисел.
Проверить правильность «структуры
файла»: наличие в нем только чисел,
заданного числа строк, заданного числа
элементов в каждой строке. Поменять
местами элементы главной и побочной
диагоналей. В новый файл переписать
результирующую матрицу и вектор,
элементами
которого будут индексы минимальных
элементов строки.
