Задачи на обработку файлов

(1) В файле содержатся целые натуральные числа. Диапазон чисел неизвестен. Напишите программу, которая среди чисел файла находит количество тех чисел, у которых сумма цифр делится на 14, а последняя цифра в троичной записи равняется 2. Количество таких чисел необходимо вывести в том же файле, где находятся числа.

f1

(2): В файле содержатся целые натуральные числа. Диапазон чисел неизвестен. Напишите программу, которая находит выводит в этом же файле сумму всех чисел, которые делятся на 7, а первая цифра начинается на 1. Программа также должна вывести в файл подходящие числа. Предполагается, что такие числа в файле есть.

f1

(3): В файле находятся четырехзначные коды — пинкоды для банковских карт. Ваня решил обезопасить себя и выбрать из файла безопасные пинкоды. Он решил, что безопасный пинкод не должен начинаться с нуля, не должен содержать одинаковые цифры, и не должен заканчиваться на на 9. Напишите программу, которая создает новый файл из безопасных пинкодов для банковских карт.

f2

(4): В файле содержатся телефонные номера. Олег не помнит номер своего друга Ивана, но помнит, что телефонный номер заканчивается на 73, а его оператором является МТС, то есть код сотового после восьмерки может быть 901, 902, 904, 908, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 950, 978, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989. Напишите программу, которая выводит в новый файл все подходящие номера. (Все номера вымышлены, набраны случайным образом).

f3

(5): В файле представлено одно из стихотворений А.С. Пушкина. Напишите программу, которая считает количество пробелов в этом стихотворении. Программа должна вывести ответ в новом файле.

f4

(6): В файле представлено одно из стихотворений А.С. Пушкина. Напишите программу, которая записывает в новый файл только четные строчки. Будем считать, что первая строка имеет номер 1. Пробелы, являющиеся разделителем двух четверостишей, строкой не является.

f4

(7): В файле представлены целые числа. Напишите программу, записывающая в новый файл все числа из первого файла, в двоичной записи которых присутствуют только единицы.

f5

(8): Злоумышленники пытаются взломать шестизначный пароль от входа в социальную сеть. Они точно знают, что пароль содержит только заглавные буквы и десятичные цифры. Также злоумышленники знают, что пароль начинается и заканчивается буквой, а остальные символы – цифры. Напишите программу, которая записывает в файл все подходящие пароли для взлома.

(9): Напишите программу, которая записывает в файл все восьмеричные целые числа на десятичном отрезке от 10 до 255, у которых первая и последняя цифры равны, а вторая цифра является максимальной. Например, подходит число 171 или 3623 (Числа восьмеричные). Программа должна вывести в консоль количество таких чисел.

(10): Дан файл, состоящий из случайных чисел. Напишите программу, которая удаляет из этого файла все двузначные нечетные числа. На месте этих чисел программа должна вывести фразу «УДАЛЕНО».

f6

(11): Дан файл, состоящий из случайных чисел. Напишите программу, которая удаляет из этого файла все числа, у которых первая цифра ровно на единицу меньше или на единицу больше, чем последняя. На месте этих чисел программа должна вывести фразу «УДАЛЕНО». Все подходящие (удаленные из файла) числа вывести в новый файл.

f6

(12): Банковские купюры валюты «Таксокоины» кодируются следующим образом: сначала пишутся два символа «ТК», затем идет пятизначный код, который обязательно начинается и заканчивается нулем, а затем идут три символа «ТКК». В представленном ниже файле находятся коды различных купюр. Напишите программу, которая создает и выводит в новый файл те данные, которые удовлетворяют кодам купюрам «Таксокоины».

f7

(13): Дан файл «f8.txt», состоящий из случайных чисел. Напишите программу, которая записывает в новый файл только те числа из файла «f8.txt», которые в восьмеричной системе счисления имеют запись «1117». Порядок чисел в новом файле не важен. В новом файле должны выводится не только сами числа, но и их восьмеричная запись через пробел. 

f8

(14): Дан файл «f8.txt», состоящий из случайных чисел. Напишите программу, которая в этом файле ищет пары чисел, которые в сумме образуют 255. Программа должна создать новый файл и в нем вывести эти пары чисел через пробел, а в конце файла вывести количество таких пар. Под парой подразумевается два идущих подряд числа в файле.

f8

(15): В файле «f9.txt» содержатся целые числа. Напишите программу, находящая числа, в которых сумма цифр числа больше произведения цифр числа. Все подходящие числа вывести в консоль.

f9

(16): В файле «f10.txt» содержаться целые натуральные двузначные числа. Определить количество чисел, в которых первая цифра больше второй. Ответ вывести в консоль.

f10

(17): В файле «f11.txt» содержатся некоторые тройки чисел, разделенные пустой строкой. Напишите программу, которая определяет, является ли сумма первого и второго числа из тройки равной третьему числу, которое записано в двоичной системе счисления. В консоль вывести количество удовлетворяющих троек, а так же максимальное число среди всех первых двух чисел. Например, следующая тройка чисел: 8 2 1010 будет являться подходящей. 

f11

(18): Дан файл «f12.txt», состоящий из натуральных чисел. Напишите программу, которая выводит в консоль сумму чисел, у которых есть сочетание цифр *1#78, где # — любая десятичная цифра, а * означает, что перед единицей других цифр нет.

f12

(19): В текстовом файле «f13.txt» содержатся целые восьмеричные числа. Напишите программу, которая создает новый текстовый файл и записывает в него суммы двух идущих подряд чисел из первого файла в десятичной системе счисления. Каждая сумма должна начинаться с новой строки.

f13

(20): В файле «f14.txt» содержатся целые положительные числа. Напишите программу, которая записывает в новый файл числа из первого файла, удовлетворяющие следующему условию: если убрать из числа максимальную цифру, то оставшиеся цифры в числе будут располагаться либо в порядке возрастания, либо в порядке убывания, а также число не должно начинаться с нуля. Например число 54931 подходит, потому что если убрать 9, то получится 5431, а вот число 2731 не подходит, так как если убрать 7, то получится 231.

f14

(21): В файле «f15.txt» содержатся десятичные натуральные числа. Напишите программу, которая ищет среди всех чисел файла два таких числа, что сумма всех двоек в троичной записи этих чисел будет максимальной.

f15

(22): В файле «f15.txt» содержатся десятичные натуральные числа. Напишите программу, которая среди всех чисел файла находит пару чисел, где в первом числе максимальное количество единиц в двоичной записи числа, а второе число – максимальное, кратное 88. 

f15

(23): В файле «f16.txt» содержатся сведения об оценках по информатике у обучающихся 7А класса. Учителю Ивану Андреевичу необходимо направить на олимпиаду по информатике только тех учеников, которые имеют по предмету 4 или 5. Напишите программу, которая поможет Ивану Андреевичу отправить список с фамилиями учащихся на олимпиаду. Программа должна вывести в новый файл массив, состоящий из фамилий тех обучающихся, которые имеют 4 или 5 по информатике. (Все фамилии вымышлены)

f16

(24): В файле «17.txt» хранятся сведения об учениках класса — фамилия и дата рождения в формате: дд.мм.гг (08.09.2008, например). Напишите программу, которая выводит в консоль фамилию и дату рождения самого младшего и самого старшего ученика

f17

(25): В файле «f18.txt» содержатся двоичные числа. Напишите программу, которая создает два одномерных массива, состоящих из следующих элементов: первый массив состоит из элементов файла, преобразованных в десятичную систему счисления, которые меньше 256. Второй массив состоит из элементов файла, преобразованных в десятичную систему счисления, которые имеют нечетное количество нулей в двоичной записи. Программа должна вывести 2 массива, а также числа (в десятичной системе счисления), которые входят в оба массива. Элементами массива должны быть десятичные числа!

f18

(26): Назовем число «Равноциферное», если в двоичной системе счисления количество единиц равно количеству нулей. Например, число 10 в двоичной системе счисления равно 1010 (Количество единиц и количество нулей равны).
Дан файл «f19.txt», состоящий из десятичных чисел. Напишите программу, которая выводит в новый файл, а затем и на экран все равноциферные числа.

f19

(27): Назовем число «Равноциферное», если в двоичной системе счисления количество единиц равно количеству нулей. Дан файл «f19.txt», состоящий из десятичных чисел. Напишите программу, которая находит максимальное равноциферное число.

f19

(28): Назовем число «Равноциферное», если в двоичной системе счисления количество единиц равно количеству нулей. Дан файл «f19.txt», состоящий из десятичных чисел. Напишите программу, которая находит разность между суммой двух наибольших чисел и двух наименьших чисел в файле, которые не являются равноциферными числами.

f19

(29): В файле «f20.txt» хранятся пин-коды банковских карт банка N. Пин-код — это четырехзначный код для разблокировки счета на карте. Некоторые из пин-кодов записаны некорректно. Некорректными называются пин-коды, в которых две соседние цифры повторяются. Например, коды 1223 и 1455 будут некорректными, а коды 1234 и 9079 будут корректными. Если в коде повторяются 3 или 4 соседние цифры, то код является корректным. Напишите программу, которая создает файл с корректными пин-кодами для банковских карт.

f20

(30): В файле «f21.txt» содержатся двоичные числа. Напишите программу, которая записывает в новый файл инверсию каждого числа (меняет 0 на 1, а 1 на 0) и ищет минимальное число в новом файле. Минимальную инверсию числа в десятичной системе счисления программа должна вывести на экран. Например, для двоичного числа 11001 инверсия будет равна 00110, что является двоичным представлением числа 6. Если это число будет минимальной инверсией, то на экран выведется число 6. 

f21

(31): В файле «f22.txt» содержатся значения суточного измерения температуры. Первое значение температуры для 00:00 часов, второе — для 01:00, и так далее. Последнее значение температуры для 23:00. Напишите программу, которая определяет сумму всех значений температуры в первой половине дня, где температура не опускалась ниже -7 градусов.

f22

(32): Суперчисло – число, которое делится нацело на количество своих цифр и на сумму своих цифр. Например, число 12 делится на 3 (сумма цифр) и на 2 (количество цифр). Напишите программу, которая среди чисел файла «f23.txt»  выводит в консоль все суперчисла в порядке убывания. 

f23

(33): Мария и Андрей решили посетить спектакль в театре. Покупка билетов происходила онлайн через официальный сайт театра. При бронировании мест сайт выдал им файл с номерами свободных мест. Первые цифры номера места означают ряд, а последняя цифра — само место в ряду. Например, место 48 означает 4 ряд 8 место, а место 112 означает 11 ряд 2 место. В каждом ряду ровно 10 мест (от 0 до 9). Мария и Андрей решили выбрать места, расположенные выше 5 ряда, но ниже 15 ряда и обязательно находящиеся непосредственно рядом. Напишите программу, которая выводит в новый файл пары подходящих мест. Программа должна выводить каждую пару с новой строки, числа должны быть разделены пробелом.  

f24

(34): В файле содержатся коды товаров магазина «Двадцаточка». Это те товары, на которые магазин может выделить скидку по системе 1+1 (два товара по одной цене). Всего в файле 20 кодов товаров. Каждую неделю специальное устройство генерирует один скидочный товар из базы. При покупке два товара, один будет бесплатным. Напишите программу, которая генерирует случайным образом код товара, а затем считает общую сумму покупки с учетом скидки. 

Программа сначала генерирует код товара из базы, на которую распространяется скидка. Затем пользователь вводит число N — количество товаров в покупке, а затем в N строках код товара и его цену (Код товара может не совпадать с базой). Программа должна вывести общую стоимость покупки с учетом скидки. Акция распространяется на скидочный товар один раз. Если покупатель берет скидочный товар 6 раз, то он заплатит за него 5 раз. Если за один код товара пользователь ввел разные цены (по ошибке), то программа выдает ошибку.

Пример работы программы:

f25

(35): В файле «f26.txt» содержатся информационные коды поступающих в ВУЗ. В файле «f27.txt» содержатся суммарное количество баллов ЕГЭ за три предмета. Порядок баллов соответствует порядку информационным кодам абитуриента, то есть поступающий с информационным кодом, который написан в первой строке файла f26 будет иметь количество баллов, написанное в первой строке файла f27. Это же утверждение соответствует всем строкам в двух файлах. Пользователь вводит количество бюджетных мест в группе. Напишите программу, которая по информации о количестве бюджетных мест выводит все информационные номера студентов в порядке убывания их баллов (сами баллы выводить не нужно). Помимо вывода информационных кодов, программа должна вывести минимальный проходной балл. В случае равенства минимального балла у нескольких абитуриентов и нехватки бюджетных мест, программа должна вывести все коды (в этом случае количество бюджетных мест будет увеличено автоматически)

f26

f27

(36): В файле «f28.txt» содержатся номера вагонов электропоезда. Перед тем, как запустить пассажирский электропоезд, машинист должен собрать его из вагонов. Электропоезд собирается из вагонов по следующему правилу: номер каждого последующего вагона должен начинаться на ту цифру, на которую заканчивается номер предыдущего вагона. Например, к вагону с номером 1039 можно прицепить вагоны 921, 909, 907.., но нельзя прицепить вагоны с номером 798, 803, 221 и так далее. Номера, оканчивающиеся на 0, считаются не пассажирскими и пропускаются. Если собрать такой поезд не получается, то собирается другой. Машинист утром получает сообщение с числом L — номер вагона, с которого должен начинаться выстраиваться электропоезд.  Напишите программу, которая по входной переменной L — первому номеру вагона электропоезда, выводит полный список из 12 номеров вагонов с НАИМЕНЬШЕЙ СУММОЙ ЦИФР, из которых будет состоять электропоезд. Если собрать такой поезд не получается, необходимо вывести сообщение «НЕТ». Номера вагонов не должны повторяться.

Например, если нужно собрать поезд из 3 вагонов, а нам даны следующие номера: (1222, 899, 298, 555, 100, 1266, 299, 501), то при L = 501, ответом будем поезд с номерами: 501, 1222, 298.

!Примечание: Помните, что в программу можно ввести номер, который отсутствует в файле.

f28