![]() |
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 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 30.10.04 3:07) Digitalator Человек обратился в форум за помощью. А что Вы ему предлагаете? Во-первых, я сильно сомневаюсь в существовании алгоритма, позволяющего найти в неупорядоченном массиве повторяющиеся элементы за 2 невложенных цикла. А во вторых, если он действительно существует, почему бы Вам не предложить его автору топика? P.S. Что именно в алгоритме кажется Вам крайне неэффективным. Неэффективным я считаю вложенный прогон по всему массиву! to ADMIN Цитата "В чужом глазу соломинку видите а в своем бревно не замечаете". Дело в том что я вам показывал только один свой код в теме про двоичные деревья. Вы видите в нем недостатки? Цитата Digitalator , это вам не FPC и не 32 битная среда! Здесь никак не получиться использовать больше, чем позволяет память! НИКАК! вообще-то можно использовать стандартные 640кб, (ну чуть меньше) и держать временный файл (разиером до 2гб) - столько за глаза хватит, хоть и работает медленно. Цитата И вообще компьютер мало того дискретная машина, она еще имеет ограничение на обрабатываемые числа... такие ограничения устанавливаются стандартными типами, никто не мешает вам написать свои чилса произвольной длины и точности Цитата Примедите свой код, устраняющий недостатки, или согласитесь, что вы неправы! Хорошо я приведу вам код чуть позже, когда напишу... для этого мне придется скачать TP, т.к. я его давно уже потерял..... -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 24.06.2025 23:52 |