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

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

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

> Файлы, MAx эелементы и их сортировка
Zundell
сообщение 20.12.2006 15:32
Сообщение #1


Пионер
**

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

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


Дали нам домой 5 задач,4 сделал,а вот одна не получается...по всякому пробовал,но ниче не получилось(
Текст задания:Создать файли из N целых чисел.Найти число повторяющееся максимальное колличество раз.Если таких несколько то все из них.Записать эти числа в другой файл и там отсортировать(без разницы как).

вот мои попытки нахождения maxимальных:

Var
f,:f1file of integer;
a:real;
i,n,k,b,c,j:integer;
begin
assign(f,'abs.dat');assign(f1,'absd.dat');
rewrite(f);
read(n);
for i:=1 to n do
begin
write('a=');
read(a);
write(f,a);
end;
close(f);
end;
reset(f);rewrite(f1);
k:=0;
for i:=0 to fileseze(f)-1 do
begin
seek(f,i);
read(f,c);
for j:=i+1 to filesize(f)-1 do
begin
seek(f,j);
read(f,b);
if b=c then do
inc(k);
end;
write(f1);
end;
close(f1);


помогите пожалуйста
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
мисс_граффити
сообщение 20.12.2006 18:09
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


есть такая идея (код писать не стала, потому что она мне не очень нравится - должен быть способ лучше).

пока не конец первого файла
считали элемент, запомнили его номер, пошли вниз до конца файла считать его количество.

если количество больше запомненного ранее максимума, то
begin
максимум присвоить это количество
очистка второго файла
запись в него найденного числа
end
если количество равно максимуму
дописываем число в файл

переход на след. элемент

сортировка.

например:
у нас есть файл 1 2 3 2 5 6 2
считали 1. дошли до конца файла - встречается один раз. записали во второй файл единичку, максимум:=1
2 встречается 3 раза. очистили файл, записали в него двоечку. максимум:=3
3 - один раз. ничего не делаем
2 - два раза (идем только вниз!). ничего не делаем. вот это место мне и не нравится - лишний подсчет.
5 - один раз
6 - один раз
2 - один раз

Сообщение отредактировано: мисс_граффити - 20.12.2006 19:11


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Zundell   Файлы   20.12.2006 15:32
мисс_граффити   есть такая идея (код писать не стала, потому что о...   20.12.2006 18:09
Zundell   да...казалось бы простенькая задача((   20.12.2006 18:43
мисс_граффити   да она в таком варианте по алгоритму и несложная п...   20.12.2006 18:54
Zundell   так нет...как ты написала,мы запоминаем число повт...   20.12.2006 19:03
мисс_граффити   мы число повторений для каждого числа не будем зап...   20.12.2006 19:11
Zundell   :unsure: не особо понял!немоглабы ты написать ...   20.12.2006 19:16
мисс_граффити   как-то так assign(f,'fail.in'); {zapolneni...   20.12.2006 19:46
Zundell   как я понимаю,прога должна рандомно вводить значен...   20.12.2006 20:07
мисс_граффити   выложи полный код, как это у тебя выглядит.   20.12.2006 20:12
Zundell   Никакой сортировки еще не делал,то,что ты написала...   20.12.2006 20:15
мисс_граффити   вот лишь бы меня обвинить :dry: 1) что за а лево...   20.12.2006 20:29
Zundell   извиняюсь извиняюсь..полностью моя ошибка))   20.12.2006 20:31
Zundell   вот...я прально говорил,при выводе на печать он по...   20.12.2006 20:44
мисс_граффити   что ты с ней сотворил??? исходная последовательнос...   20.12.2006 20:47
Zundell   чтобы посмотреть,что получается....а если не вывод...   20.12.2006 20:50
мисс_граффити   выводить. но уже из файла... то есть ПОСЛЕ выполне...   20.12.2006 20:55
Zundell   что ты воводишь,что у тебя показывает эти числа?   20.12.2006 21:09
мисс_граффити   я ничего не ввожу. исходная последовательность ген...   20.12.2006 21:12
Zundell   неет..чтоб показывало числа,которые мы отобрали(по...   20.12.2006 21:20
мисс_граффити   не поняла, чего ты от меня добиваешься. я вот так ...   20.12.2006 21:24
Zundell   Спасибо тебе большое,readln над было паставить))вс...   20.12.2006 21:38


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

 



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