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

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

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

> Задача с массивом
сообщение
Сообщение #1


Новичок
*

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

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


Помогите решить.
В массиве целых чисел с количеством элементов n найти наиболее часто встречающееся число. Если таких чисел несколько, то определить наименьшее из них.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


?
***

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

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


не ну вы ребята издеватесь!!!
которая по счету тема задача с масивами!!!!!!!!!!!!!!!!!!!

может не совсем функционально но вот пример реализаци с помощю списка



Type
TPrec=^Trec;
Trec = record
inf :integer;
count :integer;
next :TPrec;
end;
const n=100;
Var
arr=array [1..n] of integer;
i:integer;
start:tprec;
wp:tprec;


function findrec(elem:integer;var wp:tprec):boolean;
begin
result:=false;
wp:=start;
while wp<>nil do
begin
if wp^.inf=elem then
begin
result:=true;
exit;
end;
wp:=wp^.next;
end;
end;

procedure add(elem:integer; var start:tprec);
var
Pnew:Tprec;
begin
new(pnew);
pnew^.inf:=elem;
pnew^.count:=1;
pnew^.next:=nil;
if start=nil then
begin
start:=pnew;
end
else
begin
pnew^.next:=start;
start:=pnew;
end;
end;

begin
start:=nil;
{заполнение масива}
for i:=1 to n do begin
if findrec(arr(i),wp) then inc(wp^.count)
else add(arr(i),start);

{теперь проходиш по списку и виводиш то что нужно}

while start<>nil do
begin
wp:=start;
start:=start^.next;
dispose(wp);
end;
end;



зы еще не откомпилирова, откомпилирую исправлю если будут ошибки)

Сообщение отредактировано: amega -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(amega @ 13.04.2009 21:29) *
может не совсем функционально но вот пример реализаци с помощю списка
"Заслуженный комбайнер респубилки Иван Петрович Сидоров просит нас передать вторую часть, Adagio ma not tanto, из шестого Брандербургского концерта си-бемоль мажор Иоганна Себастьяна Баха. Для уважаемого Ивана Петровича передаем русскую народную песню Во поле березонька стояла.."
© из анекдота


М
amega если не можешь (или не хочешь) отвечать по делу - будь добр, не флуди..



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





- Текстовая версия 7.09.2025 14:07
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name