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
сообщение 31.10.2004 0:23
Сообщение #2


Бывалый
***

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

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


ээээээ
Код

for i :=1 to pred(n) do {1-ый цикл}
  begin
    min := i;
    for j :=succ(i) to n do {2-й цикл}
      if a[j]<a[min] then
        min := j;
    t := a[min];
    a[min] :=a[i];
    a[i] := t;
  end;

Разве нет????????????? Я что-то неправильно понял?


http://www.khgec.net/maxint.zip
вот я написал прогу для нахождения частовсречающегося 2-х байтового знакового в файле (не будем же мы с клавиатуры миллиард чисел забивать smile.gif )
Написал на делфи, т.к. че-то паскаль досявый не пашет.... но можно легко переделать прогу для паса. Используется менее 300кб памяти, все типы не длинее 4байт. В файле размером 2гб находит число менее чем за минуту. В архиве ехе-шник (если у кого делфей нет компилировать) и исходник. Проге нужен файл input.dat в тек. каталоге (не более 4гб т.к. используется longint для опр. размера, хотя прога будет работать и с файлами длиннее, просто будет некорректно работать ползунок smile.gif)


--------------------
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

 



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