Никак не могу разобраться с еще одной задачей на файлы :-()
В текстовом файле занесено n >= 10^6 натуральных чисел (каждое число <= 10^4). Получить новый файл, образованный из чисел, встречающихся в исходном файле более одного раза, по возрастанию без повторений.
Буду благодарен за любые идеи..
Описываешь массив
var ix: array[0 .. 10000] of longint;(это гарантированно будет корректно работать только для общего количества чисел в файле не превышающего 2147483647, или 231 - 1, поскольку именно это - максимально возможное значение LongInt), обнуляешь его, и потом делаешь так:
var x: integer;, таким образом заполняя массив счетчиков повторяемости каждого числа в файле... Ну, а потом просто проходишь по всему массиву Ix, и:
...
while not eof(f) do begin
readln(f, X);
inc(ix[X]);
end;
for i := 0 to 10000 do
if ix[i] > 1 then writeln(f_2, i);
Спасибо за идею!