2 подхода
простой но не эффективный (для 15 файлов тебе пофиг) - это открыть по очереди файлы, добавить в массив из каждого число, затем отсортировать массив и взять последние 3 числа (или первые 3, если сортировать в обратном порядке)
по сложнее - подходит, когда количество максимальных чисел заметно большое или переменное, в этом случае заводишь массив искомых чисел длиной +1 (длинной 4 в твоем случае), заполнив любым гарантированно минимальным значением (отдельный разговор каким, например -2147483647 для 32-битных целых) и затем открываешь по очереди файлы, читаешь из них числа, по одному, и добавляешь число в конец массива (заменяя лежащее там число, оно не нужно так как 4-ое), затем для каждого числа начиная с предпоследнего к первому делаешь операцию замены их местами, если текущее число меньше стоящего справа. По окончанию первые 3 числа и будут искомыми.
Заполнение массива гарантированно минимальным числом иногда не подходит, тогда необходимо первичное заполнение массива делать числами из файлов, заведя переменную - текущий размер искомого массива, начиная с 1 и увеличивать до требуемых (в твоем случае 4)