![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
QDe5n1K |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
В общем, задание такое:
"Дан целочисленный массив.Найти самое часто повторяющееся в нем число"... Помогите, алгоритм примерно знаю, но реализовать не могу... напишите код, плз... т.е. , если в массиве такие числа :45,32,67,21,32,33,32,0,32,0 то должно быть выведено число 32 В общем, промежуточный результат у меня такой: Код var a,b,c:array[1..100] of integer; size,numb1,numb2,x:integer; begin writeln(' Size: '); readln(size); for numb1:=1 to size do begin write(' Enter ', numb1, '-th data of array: '); readln(a[numb1]); b[numb1]:=0; end; for numb1:=1 to size do for numb2:=size downto numb1 do if a[numb1]=a[numb2] then begin b[numb1]:=b[numb1]+1; c[numb1]:=a[numb1]; end; for numb1:=1 to size do for numb2:=size downto numb1 do if b[numb1]>b[numb2] then begin x:=b[numb1]; b[numb1]:=b[numb2]; b[numb2]:=x; end; writeln(b[numb2]); readln; end. т.е. я нашел, сколько раз повторяеться число, которого в массиве больше всего ![]() Сообщение отредактировано: QDe5n1K - 29.10.2004 3:10 |
![]() ![]() |
Digitalator |
![]()
Сообщение
#2
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я к вам на работу не нанимался...
TP дает нам всего 640кб памяти (если использовать только возможности самого TP) 4гб тут никак, но если читать скажем из файлы по кускам, то можно. Опять же для хранения всех необходимых данных 640кб слишком мало для 4-байтового типа. но и тут их можно хранить в файле - но слишком медленно. Решением такой проблемы будет индексирование всего нашего массива по часятм, при этом на каждой итерации нам не будет нужно слишком много памяти и работать бужет гораздо быстрее всех ваших алгоритмов. т.к. не будет вложенного цикла по одному массиву.... Я ясно изложил основные принципы подхода? -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 24.06.2025 4:33 |