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

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

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

> нахождение часто повторяющегося числа..., Хелп ми :)
QDe5n1K
сообщение 29.10.2004 0:09
Сообщение #1


Новичок
*

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

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


В общем, задание такое:
"Дан целочисленный массив.Найти самое часто повторяющееся в нем число"... Помогите, алгоритм примерно знаю, но реализовать не могу... напишите код, плз...
т.е. , если в массиве такие числа :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.

т.е. я нашел, сколько раз повторяеться число, которого в массиве больше всего smile.gif как же поступить дальше, как получить само это число? вопрос, конечно, ламерский, но в голову ничего не лезет.

Сообщение отредактировано: QDe5n1K - 29.10.2004 3:10
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Digitalator
сообщение 29.10.2004 21:48
Сообщение #2


Бывалый
***

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

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


Я к вам на работу не нанимался...

TP дает нам всего 640кб памяти (если использовать только возможности самого TP) 4гб тут никак, но если читать скажем из файлы по кускам, то можно. Опять же для хранения всех необходимых данных 640кб слишком мало для 4-байтового типа. но и тут их можно хранить в файле - но слишком медленно.
Решением такой проблемы будет индексирование всего нашего массива по часятм, при этом на каждой итерации нам не будет нужно слишком много памяти и работать бужет гораздо быстрее всех ваших алгоритмов. т.к. не будет вложенного цикла по одному массиву....
Я ясно изложил основные принципы подхода?


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
QDe5n1K   нахождение часто повторяющегося числа...   29.10.2004 0:09
volvo   Я задал массив как константу... const  n =...   29.10.2004 13:11
Amro   Самый тупой и в то же время самый простой способ ....   29.10.2004 17:50
Digitalator   А какие числа в массиве? если не более 1байта, то ...   29.10.2004 20:48
volvo   Digitalator А что, у приведенных методов есть не...   29.10.2004 20:55
Digitalator   Да, если у вас массив из 1000000000 элементов   29.10.2004 21:00
volvo   Digitalator Приведите, пожалуйста Ваш вариант ре...   29.10.2004 21:34
Digitalator   Я к вам на работу не нанимался... TP дает нам все...   29.10.2004 21:48
volvo   Digitalator В таком случае посмотрите на код, кот...   29.10.2004 21:58
Digitalator   В условии задачи ничего не сказано о размерах о ма...   29.10.2004 22:10
volvo   Digitalator Человек обратился в форум за помощью...   30.10.2004 3:07
Altair   Digitalator, я делаю вам предупреждение! Вы в ...   30.10.2004 6:24
Digitalator   Неэффективным я считаю вложенный прогон по всему ...   30.10.2004 21:59
volvo   Digitalator Проснитесь наконец!!! Гд...   30.10.2004 22:01
Digitalator   ээээээ for i :=1 to pred(n) do {1-ый ...   31.10.2004 0:23
zx1024   Это всё понятно. Школьная программа. Лучше бы вот ...   31.10.2004 0:38
Altair   Плохому .. . . . . . .мешают :angry: Итак, Di...   31.10.2004 8:31
Digitalator   всмысле вам не нравится что у меня сейчас не ра...   31.10.2004 23:05
Digitalator   Я починил свою винду, теперь досявые проги работаю...   1.11.2004 0:52
Altair   Вот с этим согласен абслолютно! разумные врод...   1.11.2004 6:45


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

 



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