Binary files
Binary files: basic operations
File1. A string S is given. If the string S is an admissible name of file then create an empty file called S and output True. If a file with the name S cannot be created then output False.
File2°. A file name and an integer N (> 1) are given. Create a file of integers with the given name and write N first positive even numbers (2, 4, …) to this file.
File3. A file name and two real numbers A, D are given. Create a file of real numbers with the given name and write 10 first terms of an arithmetic sequence with the first term A and the common difference D (A, A + D, A + 2·D, …, A + 9·D) to this file.
File4. Four file names are given. Find the amount of files with the given names that are located in the working directory.
File5. A name of file of integers is given. Find the amount of the file components. If a file with the given name does not exist then output −1.
File6. An integer K and a file of nonnegative integers are given. Output the file component with the order number K (file components are numbered beginning with 1). If the file does not contain a component with the required number then output −1.
File7. Given a file of integers that contains at least four components, output its components with the order numbers 1, 2, N−1, N, where N is the amount of the file components.
File8. Two names of files of real numbers are given. It is known that the first file exists and is nonempty whereas the second file is absent in the working directory. Create the absent file and write the first and the last components of the existing file (in that order) to the file that has been created.
File9. Two names of files of real numbers are given. It is known that one of these files exists and is nonempty whereas the other file is absent in the working directory. Create the absent file and write the last and the first components of the existing file (in that order) to the file that has been created.
File10°. A file of integers is given. Create a new file that contains all components of the given file in inverse order.
File11. A file of real numbers is given. Create two new files; the first resulting file must contain the given file components with odd order numbers (1, 3, …), the second resulting file must contain the given file components with even order numbers (2, 4, …).
File12. A file of integers is given. Create two new files; the first resulting file must contain the given file components whose values are even numbers, the second resulting file must contain the given file components whose values are odd numbers. If the given file does not contain odd or even numbers then the corresponding resulting file must be empty.
File13. A file of integers is given. Create two new files; the first resulting file must contain the given file components (in inverse order) whose values are positive numbers, the second resulting file must contain the given file components (in inverse order too) whose values are negative numbers. If the given file does not contain positive or negative numbers then the corresponding resulting file must be empty.
File14. A file of real numbers is given. Find the average of its components.
File15. A file of real numbers is given. Find the sum of its components with even order numbers.
File16. A file of integers is given. Find the amount of series of equal numbers that are contained in the file (a series of equal numbers is defined as a set of successive file components with equal values). For instance, if the file contains components with values 1, 5, 5, 5, 4, 4, 5 then the number 4 must be output.
File17. A file of integers is given. Create a new file of integers that contains lengths of all series of equal numbers from the given file (a series of equal numbers is defined as a set of successive file components with equal values; the amount of these components is called the length of series). For instance, if the given file contains components with values 1, 5, 5, 5, 4, 4, 5 then the resulting file must contain the following integers: 1, 3, 2, 1.
File18. A file of real numbers is given. Find its first local minimum (a file component is called the local minimum if it is smaller than its neighbors).
File19. A file of real numbers is given. Find its last local maximum (a file component is called the local maximum if it is greater than its neighbors).
File20. A file of real numbers is given. Find the total amount of its local extremums, that is, its local maximums and local minimums (see the local minimum and local maximum definitions in File18 and File19 respectively).
File21. A file of real numbers is given. Create a file of integers that contains order numbers of all local maximums of the given file in ascending order (see the local maximum definition in File19).
File22. A file of real numbers is given. Create a file of integers that contains order numbers of all local extremums of the given file in descending order (see the local extremum definition in File20).
File23. A file of real numbers is given. Create a file of integers that contains lengths of all sets of successive file components whose values are in descending order. For instance, if the given file contains components with values 1.7, 4.5, 3.4, 2.2, 8.5, 1.2 then the resulting file must contain the following integers: 3, 2.
File24. A file of real numbers is given. Create a file of integers that contains lengths of all sets of successive file components whose values are in ascending or descending order. For instance, if the given file contains components with values 1.7, 4.5, 3.4, 2.2, 8.5, 1.2 then the resulting file must contain the following integers: 2, 3, 2, 2.
File25°. Given a file of real numbers, replace the values of all file components with their squares.
File26. Given a file of real numbers, exchange values of its minimal and maximal component.
File27°. Given a file of integers with components A_{1}, A_{2}, …, A_{N} (N is the amount of the file components), change the order of the file components as follows: A_{1}, A_{N}, A_{2}, A_{N−1}, A_{3}, … .
File28. Given a file of real numbers, replace each file component (except for the first and last one) with the average of this component and its neighbors.
File29. Given a file of integers that contains more than 50 components, reduce the size of file to 50 components by means of removing last components.
File30. Given a file of integers that contains an even number of components, remove the second half of the file components.
File31. Given a file of integers that contains more than 50 components, reduce the size of file to 50 components by means of removing first components.
File32. Given a file of integers that contains an even number of components, remove the first half of the file components.
File33. Given a file of integers, remove file components with even order numbers (2, 4, …).
File34. Given a file of integers, remove file components with negative values.
File35. Given a file of integers that contains less than 50 components, increase the size of file up to 50 components by means of inserting zero components to the beginning of the file.
File36. Given a file of integers, write all its components in the same order to the end of this file (as a result, the size of file will be doubled).
File37. Given a file of integers, write all its components in inverse order to the end of this file (as a result, the size of file will be doubled).
File38. Given a file of integers, double occurrences of file components with odd order numbers.
File39. Given a file of integers, double occurrences of file components whose values are in the range 5 to 10.
File40. Given a file of integers, replace each file component, whose order number is an even number, with two zero components.
File41°. Given a file of integers, replace each file component, whose value is a positive number, with three zero components.
Untyped files processing
File42. Given two untyped files, exchange their contents.
File43°. Given an untyped file and a string S, create the file copy called S.
File44. Given three untyped files of different size, replace the contents of the longest file with the contents of the shortest one.
File45. Given three untyped files of different size, replace the contents of the shortest file with the contents of the longest one.
File46. A string S_{0}, an integer N (≤ 4), and N files called S_{1}, …, S_{N} are given. Components of all given files have the identical type. Combine the contents of the given files (in the same order) in a new file called S_{0}.
File47. Given two files whose components have the identical type, add the initial contents of the second file to the end of the first file and the initial contents of the first file to the end of the second file.
Work with several numeric files. Archival files
File48°. Three files of integers called S_{A}, S_{B}, S_{C} and a string S_{D} are given. All given files are of the same size. Create a new file called S_{D}; this file must contain triples of components of the given files as follows: A_{1}, B_{1}, C_{1}, A_{2}, B_{2}, C_{2}, … .
File49. Four files of integers called S_{A}, S_{B}, S_{C}, S_{D} and a string S_{E} are given. The given files are of different size. Create a new file called S_{E}; this file must contain quadruples of components of the given files as follows: A_{1}, B_{1}, C_{1}, D_{1}, A_{2}, B_{2}, C_{2}, D_{2}, … . Do not write "superfluous" components of longer files to the resulting file.
File50°. Two files of real numbers called S_{1}, S_{2} and a string S_{3} are given. Values of components of each given file are in ascending order. Create a new file called S_{3}; this file must contain all components of the given files in ascending order of their values.
File51. Three files of real numbers called S_{1}, S_{2}, S_{3} and a string S_{4} are given. Values of components of each given file are in descending order. Create a new file called S_{4}; this file must contain all components of the given files in descending order of their values.
File52. A string S_{0}, an integer N (≤ 4), and N files of integers called S_{1}, …, S_{N} are given. Create a new file called S_{0}; this file (an archival file) must contain data of all given files in the following format: the number N (the first component of the archival file), the amounts of components of each given file (the next N components of the archival file), values of all components of the file S_{1} in the same order, values of all components of the file S_{2} in the same order, and so on.
File53. A string S, an integer N (> 0) and an archival file are given. The archival file contains data of several files; the format of archival file is described in File52. Restore the data of the Nth file from the archival file and save it in the file called S. If the amount of files, which are contained in the archival file, is less than N then the resulting file S must be empty.
File54. A string S and an archival file are given. The archival file contains data of several (no more than six) files; the format of archival file is described in File52. Find the average of all component values for each file, which is contained in the archival file. Save all obtained averages (as a real numbers) in a new file called S.
File55. A string S_{0}, an integer N (≤ 4), and N files of integers called S_{1}, …, S_{N} are given. Create a new file called S_{0}; this file (an archival file) must contain data of all given files in the following format: the amount of components of the file S_{1} and values of all its components in the same order; the amount of components of the file S_{2} and values of all its components in the same order; …; the amount of components of the file S_{N} and values of all its components in the same order.
File56. A string S, an integer N (> 0) and an archival file are given. The archival file contains data of several files; the format of archival file is described in File55. Restore the data of the Nth file from the archival file and save it in the file called S. If the amount of files, which are contained in the archival file, is less than N then the resulting file S must be empty.
File57. Two strings S_{1}, S_{2} and an archival file are given. The archival file contains data of several files; the format of archival file is described in File55. Create two new files called S_{1}, S_{2}; the first resulting file must contain first components of all files, which are contained in the archival file, the second resulting file must contain last components of all files, which are contained in the archival file.
Files of characters and files of strings
File58°. Given a file of characters containing at least one blank character, remove its components that are located after the first blank character (including this blank character).
File59. Given a file of characters containing at least one blank character, remove its components that are located after the last blank character (including this blank character).
File60. Given a file of characters containing at least one blank character, remove its components that are located before the first blank character (including this blank character).
File61°. Given a file of characters containing at least one blank character, remove its components that are located before the last blank character (including this blank character).
File62. Given a file of characters, rearrange file components in ascending order of their numeric values in the character set.
File63°. An integer K (> 0) and a file of strings are given. Create two new files; components of the first resulting file are strings that contain first K characters of each string of the given file; components of the second resulting file are Kth characters of each string of the given file. If the length of some string of the given file is less than K then the entire string and a blank character must be written to the first and second resulting file respectively.
File64. Given a file of strings, write its components of the minimal length to a new file (in the same order).
File65. Given a file of strings, write its components of the maximal length to a new file (in inverse order).
File66. Given a file of strings, write all its components to a new file in lexicographic order (that is, in ascending order of the numeric values of their characters).
File67°. A file of strings is given. The file contains dates in the "day/month/year" format, the "day" and "month" fields contain two digits, the "year" field contains four digits (for example, "16/04/2001"). Create two new files and write integer values of days and months for each date from the given file to the first and second resulting file respectively (in the same order).
File68. A file of strings is given; the file contains dates in the "day/month/year" format (see File67). Create two new files and write integer values of months and years for each date from the given file to the first and second resulting file respectively (in inverse order).
File69. A file of strings is given; the file contains dates in the "day/month/year" format (see File67). Write its components that corresponds to summer dates to a new file (in the same order). If the given file does not contain required dates then the resulting file must be empty.
File70. A file of strings is given; the file contains dates in the "day/month/year" format (see File67). Write its components that corresponds to winter dates to a new file (in the same order). If the given file does not contain required dates then the resulting file must be empty.
File71. A file of strings is given; the file contains dates in the "day/month/year" format (see File67). Find its component that represents the earliest spring date. If the given file does not contain spring dates then output an empty string.
File72. A file of strings is given; the file contains dates in the "day/month/year" format (see File67). Find its component that represents the latest autumn date. If the given file does not contain autumn dates then output an empty string.
File73. A file of strings is given; the file contains dates in the "day/month/year" format (see File67). Write all its components to a new file in descending order of their date values.
Files containing matrices
File74°. Two integers I, J and a file of real numbers are given. This file contains elements of square matrix (by rows). Output the value of the matrix element in the Ith row and Jth column (rows and columns are numbered beginning with 1). If the given matrix does not contain the required row or column then output 0 (as a real number).
File75. A file of real numbers is given. This file contains elements of square matrix (by rows). Create a new file that contains the transpose of the given matrix.
File76. Two files of real numbers called S_{A} and S_{B} are given. These files contain elements of square matrix A and B (by rows). Create a new file called S_{C} that contains elements of the matrix product A·B. If matrices A and B cannot be multiplied then the resulting file S_{C} must be empty.
File77. Two integers I, J and a file of real numbers are given. The first component of the file contains the amount of matrix columns, other file components contain matrix elements (by rows). Output the value of the matrix element in the Ith row and Jth column (rows and columns are numbered beginning with 1). If the given matrix does not contain the required row or column then output 0 (as a real number).
File78. A file of real numbers is given. The first component of the file contains the amount of matrix columns, other file components contain matrix elements (by rows). Create a new file that contains the transpose of the given matrix. The resulting file must have the same structure as the given file.
File79. Two files of real numbers called S_{A} and S_{B} are given. The first components of the files S_{A} and S_{B} contain the amount of columns of matrices A and B respectively, other file components contain elements of matrices A and B (by rows). Create a new file called S_{C} that contains the matrix product A·B (the resulting file must have the same structure as the given files). If matrices A and B cannot be multiplied then the resulting file must be empty.
File80. A file of real numbers is given. This file contains elements of an upper triangular matrix (by rows). Create a new file that contains elements of nonzero part of the given matrix (by rows).
File81. A file of real numbers is given. This file contains elements of a lower triangular matrix (by rows). Create a new file that contains elements of nonzero part of the given matrix (by rows).
File82. A file of real numbers is given. This file contains elements of a tridiagonal matrix (by rows). Create a new file that contains elements of nonzero part of the given matrix (by rows).
File83. Two integers I, J and a file of real numbers are given. This file contains elements of nonzero part of an upper triangular matrix (by rows). Output the matrix order and the value of the matrix element in the Ith row and Jth column (rows and columns are numbered beginning with 1). If the required element lies in zero part of the matrix then output 0 (as a real number). If the given matrix does not contain the required row or column then output −1 (as a real number).
File84. Two integers I, J and a file of real numbers are given. This file contains elements of nonzero part of a lower triangular matrix (by rows). Output the matrix order and the value of the matrix element in the Ith row and Jth column (rows and columns are numbered beginning with 1). If the required element lies in zero part of the matrix then output 0 (as a real number). If the given matrix does not contain the required row or column then output −1 (as a real number).
File85. Two integers I, J and a file of real numbers are given. This file contains elements of nonzero part of a tridiagonal matrix (by rows). Output the matrix order and the value of the matrix element in the Ith row and Jth column (rows and columns are numbered beginning with 1). If the required element lies in zero part of the matrix then output 0 (as a real number). If the given matrix does not contain the required row or column then output −1 (as a real number).
File86. A file of real numbers is given. This file contains elements of nonzero part of an upper triangular matrix (by rows). Create a new file that contains all elements of the given matrix (by rows).
File87. A file of real numbers is given. This file contains elements of nonzero part of a lower triangular matrix (by rows). Create a new file that contains all elements of the given matrix (by rows).
File88. A file of real numbers is given. This file contains elements of nonzero part of a tridiagonal matrix (by rows). Create a new file that contains all elements of the given matrix (by rows).
File89. Two files of real numbers called S_{A} and S_{B} are given. These files contain nonzero parts of upper triangular matrices A and B (by rows). Create a new file called S_{C} that contains nonzero part of the matrix product A·B (by rows). If matrices A and B cannot be multiplied then the resulting file must be empty.
File90. Two files of real numbers called S_{A} and S_{B} are given. These files contain nonzero parts of lower triangular matrices A and B (by rows). Create a new file called S_{C} that contains nonzero part of the matrix product A·B (by rows). If matrices A and B cannot be multiplied then the resulting file must be empty.
