Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 28.10.2008, 11:07   #1
MaGWaY_minsk
Пользователь
 
Регистрация: 17.10.2008
Сообщений: 35
Печаль Pascal: Наиболее часто встречающееся число в массиве.

Люди, помогите с решением задачки. Завтра сдавать, а из варианта эта задача не готова. Сделал всё, кроме неё.=(
Выручите плиз=(

Цитата:
В массиве целых чисел с количеством элементов n найти наиболее часто встречающееся числа. Если таких чисел несколько, то определить наименьшее из них.

Последний раз редактировалось MaGWaY_minsk; 28.10.2008 в 11:30.
MaGWaY_minsk вне форума Ответить с цитированием
Старый 28.10.2008, 12:40   #2
Min
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 239
По умолчанию

const N=20;
var a:array[1..N] of integer;
count,maxEl,maxCount,curEl:integer;
i,temp:integer;
check:boolean;
begin
writeln('VVedite kol-vo:');
readln(count);
for i:=1 to count do
begin
writeln('vvedite ',i,' element:');
readln(a[i]);
end;

{сортировка}
check:=true;
while check do
begin
check:=false;
for i:=2 to count do
if a[i-1]>a[i] then
begin
temp:=a[i-1];
a[i-1]:=a[i];
a[i]:=temp;
check:=true;
end;
end;
{конец сортировки}

temp:=1;
curEl:=a[1];
MaxCount:=1;
MaxEl:=a[i];
for i:=2 to count+1 do
if i>count then
begin
if temp>MaxCount then MaxEl:=a[count];
end
else
begin
if a[i]<>curEl then
begin
if temp>MaxCount then
begin
MaxCount:=temp;
MaxEl:=a[i-1];
end;
temp:=1;
CurEl:=a[i];
end
else inc(temp);
end;
writeln(MaxEl);
readln;
end.
Надо бы избавиться от привычки ставить многоточие.....
Min вне форума Ответить с цитированием
Старый 20.01.2010, 00:22   #3
Xcopy
Форумчанин
 
Аватар для Xcopy
 
Регистрация: 03.02.2009
Сообщений: 126
По умолчанию

Вот мой вариант:
Цитата:
program zadacha;
uses crt;
var
mas: array [1..15] of integer;
i,a,b,c,j: integer;
check: boolean;
begin clrscr;
randomize;

for i:=1 to 15 do
begin
mas[i]:=random(15);
write(' ',mas[i]);
end;
for j:=1 to 15 do
for i:=1 to 15 do
begin
if mas[i]>mas[i+1] then
begin
a:=mas[i];
mas[i]:=mas[i+1];
mas[i+1]:=a;
end;
end;
writeln('');
for i:=1 to 15 do
write(' ',mas[i]);
textcolor(yellow);
a:=0; j:=0; b:=0; c:=0;
for i:=1 to 15 do
begin
if mas[i]=mas[i+1] then
begin
check:=true;
if check=true then
begin
a:=a+1;
j:=mas[i];
end;

end
else
begin
check:=false;
if a>b then
begin
b:=a;
c:=j;
a:=0;
j:=0;
end;
end;

end;
writeln('');
writeln(c);
readkey;
end.
Xcopy вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Задачка по массиву -ZaK- Помощь студентам 6 17.10.2010 23:08
Задачка со строками (Паскаль) GaJIbI4 Помощь студентам 3 23.01.2009 20:57
Задачка на массивы. Проверка и нумерация. Farfalla Паскаль, Turbo Pascal, PascalABC.NET 3 27.12.2007 08:53
Задачка. Паскаль. Nexx Помощь студентам 5 30.11.2007 18:16
Паскаль. Задачка с массивами. ProPaL Помощь студентам 4 11.11.2007 18:58


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS