Двоичные файлы
Двоичные файлы: основные операции
File1.[Pascal] [C#] [VB.NET] Дана строка S. Если S является допустимым именем файла, то создать пустой файл с этим именем и вывести True. Если файл с именем S создать нельзя, то вывести False.
File2°.[Pascal] [C#] [VB.NET] Дано имя файла и целое число N (> 1). Создать файл целых чисел с данным именем и записать в него N первых положительных четных чисел (2, 4, …).
File3.[Pascal] [C#] [VB.NET] Дано имя файла и вещественные числа A и D. Создать файл вещественных чисел с данным именем и записать в него 10 первых членов арифметической прогрессии с начальным членом A и разностью D: A, A + D, A + 2·D, A + 3·D, … .
File4.[Pascal] [C#] [VB.NET] Даны имена четырех файлов. Найти количество файлов с указанными именами, которые имеются в текущем каталоге.
File5.[Pascal] [C#] [VB.NET]
Дано имя файла целых чисел. Найти количество элементов, содержащихся в
данном файле. Если файла с таким именем не существует, то вывести −1.
File6.[Pascal] [C#] [VB.NET] Дано целое число K и файл, содержащий неотрицательные целые числа. Вывести K-й элемент файла (элементы нумеруются от 1). Если такой элемент отсутствует, то вывести −1.
File7.[Pascal] [C#] [VB.NET]
Дан файл целых чисел, содержащий не менее четырех элементов. Вывести
первый, второй, предпоследний и последний элементы данного файла.
File8.[Pascal] [C#] [VB.NET]
Даны имена двух файлов вещественных чисел. Известно, что первый из них
существует и является непустым, а второй в текущем каталоге отсутствует.
Создать отсутствующий файл и записать в него начальный и конечный
элементы существующего файла (в указанном порядке).
File9.[Pascal] [C#] [VB.NET]
Даны имена двух файлов вещественных чисел. Известно, что один из них
(не обязательно первый) существует и является непустым, а другой в
текущем каталоге отсутствует. Создать отсутствующий файл и записать в
него конечный и начальный элементы существующего файла (в указанном
порядке).
File10°.[Pascal] [C#] [VB.NET] Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке.
File11.[Pascal] [C#] [VB.NET]
Дан файл вещественных чисел. Создать два новых файла, первый из которых
содержит элементы исходного файла с нечетными номерами (1, 3, …), а
второй — с четными (2, 4, …).
File12.[Pascal] [C#] [VB.NET]
Дан файл целых чисел. Создать два новых файла, первый из которых
содержит четные числа из исходного файла, а второй — нечетные (в том же
порядке). Если четные или нечетные числа в исходном файле отсутствуют,
то соответствующий результирующий файл оставить пустым.
File13.[Pascal] [C#] [VB.NET]
Дан файл целых чисел. Создать два новых файла, первый из которых
содержит положительные числа из исходного файла (в обратном порядке), а
второй — отрицательные (также в обратном порядке). Если положительные
или отрицательные числа в исходном файле отсутствуют, то соответствующий
результирующий файл оставить пустым.
File14.[Pascal] [C#] [VB.NET] Дан файл вещественных чисел. Найти среднее арифметическое его элементов.
File15.[Pascal] [C#] [VB.NET] Дан файл вещественных чисел. Найти сумму его элементов с четными номерами.
File16.[Pascal] [C#] [VB.NET] Дан файл целых чисел. Найти количество содержащихся в нем серий
(т. е. наборов последовательно расположенных одинаковых элементов).
Например, для файла с элементами 1, 5, 5, 5, 4, 4, 5 результат равен 4.
File17.[Pascal] [C#] [VB.NET] Дан файл целых чисел. Создать новый файл целых чисел, содержащий длины всех серий исходного файла (серией называется набор последовательно расположенных одинаковых элементов, а длиной серии
— количество этих элементов). Например, для исходного файла с
элементами 1, 5, 5, 5, 4, 4, 5 содержимое результирующего файла должно
быть следующим: 1, 3, 2, 1.
File18.[Pascal] [C#] [VB.NET] Дан файл вещественных чисел. Найти его первый локальный минимум (локальным минимумом называется элемент, который меньше своих соседей).
File19.[Pascal] [C#] [VB.NET] Дан файл вещественных чисел. Найти его последний локальный максимум (локальным максимумом называется элемент, который больше своих соседей).
File20.[Pascal] [C#] [VB.NET] Дан файл вещественных чисел. Найти общее количество его локальных экстремумов,
т. е. локальных минимумов и локальных максимумов (определения
локального минимума и локального максимума даны в заданиях File18 и
File19).
File21.[Pascal] [C#] [VB.NET] Дан файл вещественных чисел. Создать файл целых чисел, содержащий номера всех локальных максимумов исходного файла в порядке возрастания (определение локального максимума дано в задании File19).
File22.[Pascal] [C#] [VB.NET] Дан файл вещественных чисел. Создать файл целых чисел, содержащий номера всех локальных экстремумов исходного файла в порядке убывания (определение локального экстремума дано в задании File20).
File23.[Pascal] [C#] [VB.NET]
Дан файл вещественных чисел. Создать файл целых чисел, содержащий длины
всех убывающих последовательностей элементов исходного файла. Например,
для исходного файла с элементами 1.7, 4.5, 3.4, 2.2, 8.5, 1.2
содержимое результирующего файла должно быть следующим: 3, 2.
File24.[Pascal] [C#] [VB.NET]
Дан файл вещественных чисел. Создать файл целых чисел, содержащий длины
всех монотонных последовательностей элементов исходного файла.
Например, для исходного файла с элементами 1.7, 4.5, 3.4, 2.2, 8.5, 1.2
содержимое результирующего файла должно быть следующим: 2, 3, 2, 2.
File25°.[Pascal] [C#] [VB.NET] Дан файл вещественных чисел. Заменить в нем все элементы на их квадраты.
File26.[Pascal] [C#] [VB.NET] Дан файл вещественных чисел. Поменять в нем местами минимальный и максимальный элементы.
File27°.[Pascal] [C#] [VB.NET] Дан файл целых чисел с элементами A1, A2, …, AN (N — количество элементов в файле). Заменить исходное расположение его элементов на следующее: A1, AN, A2, AN−1, A3, … .
File28.[Pascal] [C#] [VB.NET]
Дан файл вещественных чисел. Заменить в файле каждый элемент, кроме
начального и конечного, на его среднее арифметическое с предыдущим и
последующим элементом.
File29.[Pascal] [C#] [VB.NET]
Дан файл целых чисел, содержащий более 50 элементов. Уменьшить его
размер до 50 элементов, удалив из файла необходимое количество конечных
элементов.
File30.[Pascal] [C#] [VB.NET] Дан файл целых чисел, содержащий четное количество элементов. Удалить из данного файла вторую половину элементов.
File31.[Pascal] [C#] [VB.NET]
Дан файл целых чисел, содержащий более 50 элементов. Уменьшить его
размер до 50 элементов, удалив из файла необходимое количество начальных
элементов.
File32.[Pascal] [C#] [VB.NET] Дан файл целых чисел, содержащий четное количество элементов. Удалить из данного файла первую половину элементов.
File33.[Pascal] [C#] [VB.NET] Дан файл целых чисел. Удалить из него все элементы с четными номерами.
File34.[Pascal] [C#] [VB.NET] Дан файл целых чисел. Удалить из него все отрицательные числа.
File35.[Pascal] [C#] [VB.NET]
Дан файл целых чисел, содержащий менее 50 элементов. Увеличить его
размер до 50 элементов, записав в начало файла необходимое количество
нулей.
File36.[Pascal] [C#] [VB.NET] Дан файл целых чисел. Удвоить его размер, записав в конец файла все его исходные элементы (в том же порядке).
File37.[Pascal] [C#] [VB.NET] Дан файл целых чисел. Удвоить его размер, записав в конец файла все его исходные элементы (в обратном порядке).
File38.[Pascal] [C#] [VB.NET] Дан файл целых чисел. Продублировать в нем все элементы с нечетными номерами.
File39.[Pascal] [C#] [VB.NET] Дан файл целых чисел. Продублировать в нем все числа, принадлежащие диапазону 5–10.
File40.[Pascal] [C#] [VB.NET] Дан файл целых чисел. Заменить в нем каждый элемент с четным номером на два нуля.
File41°.[Pascal] [C#] [VB.NET] Дан файл целых чисел. Заменить в нем каждое положительное число на три нуля.
Обработка нетипизированных двоичных файлов
File42.[Pascal] [C#] [VB.NET] Даны два файла произвольного типа. Поменять местами их содержимое.
File43°.[Pascal] [C#] [VB.NET] Дан файл произвольного типа. Создать его копию с новым именем.
File44.[Pascal] [C#] [VB.NET]
Даны три файла одного и того же типа, но разного размера. Заменить
содержимое самого длинного файла на содержимое самого короткого.
File45.[Pascal] [C#] [VB.NET]
Даны три файла одного и того же типа, но разного размера. Заменить
содержимое самого короткого файла на содержимое самого длинного.
File46.[Pascal] [C#] [VB.NET] Дана строка S0, целое число N (≤ 4) и N файлов одного и того же типа с именами S1, …, SN. Объединить содержимое этих файлов (в указанном порядке) в новом файле с именем S0.
File47.[Pascal] [C#] [VB.NET]
Даны два файла одного и того же типа. Добавить к первому файлу
содержимое второго файла, а ко второму файлу — содержимое первого.
Работа с несколькими числовыми файлами. Файлы-архивы
File48°.[Pascal] [C#] [VB.NET] Даны три файла целых чисел одинакового размера с именами SA, SB, SC и строка SD. Создать новый файл с именем SD, в котором чередовались бы элементы исходных файлов с одним и тем же номером: A1, B1, C1, A2, B2, C2, … .
File49.[Pascal] [C#] [VB.NET] Даны четыре файла целых чисел разного размера с именами SA, SB, SC, SD и строка SE. Создать новый файл с именем SE,
в котором чередовались бы элементы исходных файлов с одним и тем же
номером (как в задании File48). «Лишние» элементы более длинных файлов в
результирующий файл не записывать.
File50°.[Pascal] [C#] [VB.NET] Даны два файла вещественных чисел с именами S1 и S2, элементы которых упорядочены по возрастанию. Объединить эти файлы в новый файл с именем S3 так, чтобы его элементы также оказались упорядоченными по возрастанию.
File51.[Pascal] [C#] [VB.NET] Даны три файла вещественных чисел с именами S1, S2 и S3, элементы которых упорядочены по убыванию. Объединить эти файлы в новый файл с именем S4 так, чтобы его элементы также оказались упорядоченными по убыванию.
File52.[Pascal] [C#] [VB.NET] Дана строка S0, целое число N (≤ 4) и N файлов целых чисел с именами S1, …, SN. Объединить их содержимое в новом файле-архиве с именем S0, используя следующий формат: в первом элементе файла-архива хранится число N, в следующих N элементах
хранится размер (число элементов) каждого из исходных файлов, а затем
последовательно размещаются данные из каждого исходного файла.
File53.[Pascal] [C#] [VB.NET] Дана строка S, целое число N (> 0) и файл-архив
целых чисел, содержащий данные из нескольких файлов в формате,
описанном в задании File52. Восстановить из файла-архива файл с номером N и сохранить его под именем S. Если файл-архив содержит данные из менее чем N файлов, то оставить результирующий файл пустым.
File54.[Pascal] [C#] [VB.NET] Дана строка S и файл-архив
целых чисел, содержащий данные из нескольких (не более шести) файлов в
формате, описанном в задании File52. Для каждого из файлов, содержащихся
в архиве, найти среднее арифметическое всех его элементов (вещественное
число) и записать найденные числа (в том же порядке) в файл
вещественных чисел с именем S.
File55.[Pascal] [C#] [VB.NET] Дана строка S0, целое число N (≤ 4) и N файлов целых чисел с именами S1, …, SN. Объединить их содержимое в новом файле-архиве с именем S0,
последовательно записывая в него следующие данные: размер (число
элементов) первого исходного файла и все элементы этого файла, размер
второго исходного файла и все его элементы, …, размер N-го исходного файла и все его элементы.
File56.[Pascal] [C#] [VB.NET] Дана строка S, целое число N (> 0) и файл-архив
целых чисел, содержащий данные из нескольких файлов в формате,
описанном в задании File55. Восстановить из файла-архива файл с номером N и сохранить его под именем S. Если файл-архив содержит данные из менее чем N файлов, то оставить результирующий файл пустым.
File57.[Pascal] [C#] [VB.NET] Даны строки S1, S2 и файл-архив
целых чисел, содержащий данные из нескольких файлов в формате,
описанном в задании File55. Создать новые файлы целых чисел с именами S1 и S2
и записать в первый из них начальные элементы всех файлов, содержащихся
в архиве, а во второй — конечные элементы этих файлов (в том же
порядке).
Символьные и строковые файлы
File58°.[Pascal] [C#] [VB.NET]
Дан символьный файл, содержащий по крайней мере один символ пробела.
Удалить все его элементы, расположенные после первого символа пробела,
включая и этот пробел.
File59.[Pascal] [C#] [VB.NET]
Дан символьный файл, содержащий по крайней мере один символ пробела.
Удалить все его элементы, расположенные после последнего символа
пробела, включая и этот пробел.
File60.[Pascal] [C#] [VB.NET]
Дан символьный файл, содержащий по крайней мере один символ пробела.
Удалить все его элементы, расположенные перед первым символом пробела,
включая и этот пробел.
File61°.[Pascal] [C#] [VB.NET]
Дан символьный файл, содержащий по крайней мере один символ пробела.
Удалить все его элементы, расположенные перед последним символом
пробела, включая и этот пробел.
File62.[Pascal] [C#] [VB.NET] Дан символьный файл. Упорядочить его элементы по возрастанию их кодов.
File63°.[Pascal] [C#] [VB.NET] Дано целое число K (> 0) и строковый файл. Создать два новых файла: строковый, содержащий первые K символов каждой строки исходного файла, и символьный, содержащий K-й символ каждой строки (если длина строки меньше K, то в строковый файл записывается вся строка, а в символьный файл записывается пробел).
File64.[Pascal] [C#] [VB.NET] Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наименьшей длины (в том же порядке).
File65.[Pascal] [C#] [VB.NET] Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наибольшей длины (в обратном порядке).
File66.[Pascal] [C#] [VB.NET] Дан строковый файл. Создать новый строковый файл, в котором строки из исходного файла располагались бы в лексикографическом порядке, т. е. по возрастанию кодов их символов, начиная с первого символа.
File67°.[Pascal] [C#] [VB.NET]
Дан строковый файл, содержащий даты в формате «день/месяц/год», причем
под день и месяц отводится по две позиции, а под год — четыре (например,
«16/04/2001»). Создать два файла целых чисел, первый из которых
содержит значения дней, а второй — значения месяцев для дат из исходного
строкового файла (в том же порядке).
File68.[Pascal] [C#] [VB.NET]
Дан строковый файл, содержащий даты в формате, описанном в задании
File67. Создать два файла целых чисел, первый из которых содержит
значения месяцев, а второй — значения лет для дат из исходного
строкового файла (в обратном порядке).
File69.[Pascal] [C#] [VB.NET]
Дан строковый файл, содержащий даты в формате, описанном в задании
File67. Создать новый строковый файл, содержащий все летние даты из
исходного файла (в том же порядке). Если даты с требуемым временем года в
файле отсутствуют, то оставить результирующий файл пустым.
File70.[Pascal] [C#] [VB.NET]
Дан строковый файл, содержащий даты в формате, описанном в задании
File67. Создать новый строковый файл, содержащий все зимние даты из
исходного файла (в обратном порядке). Если даты с требуемым временем
года в файле отсутствуют, то оставить результирующий файл пустым.
File71.[Pascal] [C#] [VB.NET]
Дан строковый файл, содержащий даты в формате, описанном в задании
File67. Найти строку, содержащую самую раннюю весеннюю дату. Если даты с
требуемым временем года в файле отсутствуют, то вывести пустую строку.
File72.[Pascal] [C#] [VB.NET]
Дан строковый файл, содержащий даты в формате, описанном в задании
File67. Найти строку, содержащую самую позднюю осеннюю дату. Если даты с
требуемым временем года в файле отсутствуют, то вывести пустую строку.
File73.[Pascal] [C#] [VB.NET]
Дан строковый файл, содержащий даты в формате, описанном в задании
File67. Создать новый строковый файл, в котором даты из исходного файла
располагались бы в порядке убывания.
Использование файлов для работы с матрицами
File74°.[Pascal] [C#] [VB.NET] Даны два целых числа I, J и файл вещественных чисел, содержащий элементы квадратной матрицы (по строкам). Вывести элемент матрицы, расположенный в I-й строке и J-м столбце (строки и столбцы нумеруются от 1). Если требуемый элемент отсутствует, то вывести 0.
File75.[Pascal] [C#] [VB.NET]
Дан файл вещественных чисел, содержащий элементы квадратной матрицы (по
строкам). Создать новый файл, содержащий элементы матрицы,
транспонированной к исходной.
File76.[Pascal] [C#] [VB.NET] Даны два файла вещественных чисел с именами SA и SB, содержащие элементы квадратных матриц A и B (по строкам). Создать новый файл с именем SC, содержащий элементы произведения A·B. Если матрицы A и B нельзя перемножать, то оставить файл SC пустым.
File77.[Pascal] [C#] [VB.NET] Даны два целых числа I, J
и файл вещественных чисел, содержащий элементы прямоугольной матрицы
(по строкам), причем первый элемент файла содержит количество столбцов
матрицы. Вывести элемент матрицы, расположенный в I-й строке и J-м столбце (строки и столбцы нумеруются от 1). Если требуемый элемент отсутствует, то вывести 0.
File78.[Pascal] [C#] [VB.NET]
Дан файл вещественных чисел, содержащий элементы прямоугольной матрицы
(по строкам), причем первый элемент файла содержит количество столбцов
матрицы. Создать новый файл той же структуры, содержащий матрицу,
транспонированную к исходной.
File79.[Pascal] [C#] [VB.NET] Даны два файла вещественных чисел с именами SA и SB, содержащие элементы прямоугольных матриц A и B
(по строкам), причем первый элемент каждого файла содержит количество
столбцов соответствующей матрицы. Создать файл той же структуры с
именем SC, содержащий элементы произведения A·B. Если матрицы A и B нельзя перемножать, то оставить файл SC пустым.
File80.[Pascal] [C#] [VB.NET]
Дан файл вещественных чисел, содержащий элементы верхнетреугольной
матрицы (по строкам). Создать новый файл, содержащий элементы ненулевой
части данной матрицы (по строкам).
File81.[Pascal] [C#] [VB.NET]
Дан файл вещественных чисел, содержащий элементы нижнетреугольной
матрицы (по строкам). Создать новый файл, содержащий элементы ненулевой
части данной матрицы (по строкам).
File82.[Pascal] [C#] [VB.NET]
Дан файл вещественных чисел, содержащий элементы трехдиагональной
матрицы (по строкам). Создать новый файл, содержащий элементы ненулевой
части данной матрицы (по строкам).
File83.[Pascal] [C#] [VB.NET] Даны два целых числа I, J
и файл вещественных чисел, содержащий ненулевую часть верхнетреугольной
матрицы (по строкам). Вывести порядок матрицы и ее элемент,
расположенный в I-й строке и J-м столбце (строки и столбцы
нумеруются от 1). Если требуемый элемент находится в нулевой части
матрицы, то вывести 0; если элемент отсутствует, то вывести −1.
File84.[Pascal] [C#] [VB.NET] Даны два целых числа I, J
и файл вещественных чисел, содержащий ненулевую часть нижнетреугольной
матрицы (по строкам). Вывести порядок матрицы и ее элемент,
расположенный в I-й строке и J-м столбце (строки и столбцы
нумеруются от 1). Если требуемый элемент находится в нулевой части
матрицы, то вывести 0; если элемент отсутствует, то вывести −1.
File85.[Pascal] [C#] [VB.NET] Даны два целых числа I, J
и файл вещественных чисел, содержащий ненулевую часть трехдиагональной
матрицы (по строкам). Вывести порядок матрицы и ее элемент,
расположенный в I-й строке и J-м столбце (строки и столбцы
нумеруются от 1). Если требуемый элемент находится в нулевой части
матрицы, то вывести 0; если элемент отсутствует, то вывести −1.
File86.[Pascal] [C#] [VB.NET]
Дан файл вещественных чисел, содержащий ненулевую часть
верхнетреугольной матрицы (по строкам). Создать новый файл, содержащий
все элементы данной матрицы (по строкам).
File87.[Pascal] [C#] [VB.NET]
Дан файл вещественных чисел, содержащий ненулевую часть
нижнетреугольной матрицы (по строкам). Создать новый файл, содержащий
все элементы данной матрицы (по строкам).
File88.[Pascal] [C#] [VB.NET]
Дан файл вещественных чисел, содержащий ненулевую часть
трехдиагональной матрицы (по строкам). Создать новый файл, содержащий
все элементы данной матрицы (по строкам).
File89.[Pascal] [C#] [VB.NET] Даны два файла вещественных чисел с именами SA и SB, содержащие ненулевые части верхнетреугольных матриц A и B (по строкам). Создать новый файл с именем SC, содержащий ненулевую часть произведения A·B (по строкам). Если матрицы A и B нельзя перемножать, то оставить файл SC пустым.
File90.[Pascal] [C#] [VB.NET] Даны два файла вещественных чисел с именами SA и SB, содержащие ненулевые части нижнетреугольных матриц A и B (по строкам). Создать новый файл с именем SC, содержащий ненулевую часть произведения A·B (по строкам). Если матрицы A и B нельзя перемножать, то оставить файл SC пустым.
|