IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Использование массива при сортировке файлов, Помогите ,пожалуйста!
Vania
сообщение 8.04.2007 15:34
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 30
Пол: Мужской

Репутация: -  0  +


Никак не могу разобраться с еще одной задачей на файлы :-()
В текстовом файле занесено n >= 10^6 натуральных чисел (каждое число <= 10^4). Получить новый файл, образованный из чисел, встречающихся в исходном файле более одного раза, по возрастанию без повторений.
Буду благодарен за любые идеи..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.04.2007 16:22
Сообщение #2


Гость






Описываешь массив
var ix: array[0 .. 10000] of longint;
(это гарантированно будет корректно работать только для общего количества чисел в файле не превышающего 2147483647, или 231 - 1, поскольку именно это - максимально возможное значение LongInt), обнуляешь его, и потом делаешь так:

var x: integer;
...
while not eof(f) do begin
readln(f, X);
inc(ix[X]);
end;

, таким образом заполняя массив счетчиков повторяемости каждого числа в файле... Ну, а потом просто проходишь по всему массиву Ix, и:
for i := 0 to 10000 do
if ix[i] > 1 then writeln(f_2, i);


Вот, собственно и вся идея...
 К началу страницы 
+ Ответить 
Vania
сообщение 9.04.2007 11:57
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 30
Пол: Мужской

Репутация: -  0  +


Спасибо за идею!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 23.06.2025 14:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"