Текущий архив: 2007.01.21;
Скачать: CL | DM;
Вниз
Маленькая задачка Найти похожие ветки
← →
altex (2007-01-04 19:06) [0]имеется массив array of integer, в нем числа от 0 до 9, нужно узнать какое из них чаще всего встречается и сколько раз оно встречается?
← →
MetalFan_pda (2007-01-04 19:17) [1]а самому подумать?
а мы подкорректируем если что ;)
← →
begin...end © (2007-01-04 19:18) [2]Оплата, надеюсь, натурой?
const
A: array [1..15] of Integer = (1, 2, 3, 2, 4, 4, 2, 2, 7, 8, 3, 1, 2, 4, 9);
var
B: array [0..9] of Integer;
I, N: Integer;
begin
FillChar(B, sizeof(B), 0);
for I := Low(A) to High(A) do
Inc(B[A[I]]);
N := 0;
for I := Low(B) + 1 to High(B) do
if B[I] > B[N] then
N := I;
ShowMessageFmt("Число %d встречается чаще всего -- %d раз(а)", [N, B[N]])
end
← →
Palladin © (2007-01-04 19:22) [3]
Procedure dummy001(Const a:Array of Integer);
var
i:integer;
s:String;
c:array [0..9] of integer;
m:Integer;
Begin
ZeroMemory(@c,sizeof(c));
for i:=0 to length(a)-1 do inc(c[a[i]]);
m:=c[0];
for i:=1 to 9 do if c[i]>m Then m:=c[i];
s:="Количество "+IntToStr(m)+", число(а):";
for i:=0 to 9 do
if c[i]=m then s:=s+IntToStr(i)+",";
SetLength(s,Length(s)-1);
ShowMessage(s);
End;
procedure button1click;
var
a:array of integer;
i:Integer;
begin
randomize;
setlength(a,random(5000)+1000);
for i:=0 to length(a)-1 do a[i]:=random(10);
dummy001(a);
end;
← →
altex (2007-01-04 19:30) [4]Пасиба товарищи, у меня просто сессия, сижу лекции по линейке учу... в перерывах чтото делаю!
← →
Belorus © (2007-01-05 21:59) [5]> [3] Palladin © (04.01.07 19:22)
Зачот... Весьма стёбно...
А вот
> [2] begin...end © (04.01.07 19:18)
должно быть стыдно за такой код...
← →
begin...end © (2007-01-06 10:32) [6]> Belorus © (05.01.07 21:59) [5]
Смотрел на свой код. Долго думал. Увы, так и не понял, за что именно мне должно быть стыдно.
← →
ors_archangel © (2007-01-06 10:50) [7]
> begin...end © (06.01.07 10:32) [6]
Не обращай на него внимания, у него юмор такой :) Ещё надо было оптимизацию применить, что если после сканирования n/2 элементов какой-либо счётчик > n - i, то данное число - самое частое, дальше можно только его подсчитывать, а не все счётчики вообще
← →
SergP © (2007-01-06 13:15) [8]> [7] ors_archangel © (06.01.07 10:50)
>
> > begin...end © (06.01.07 10:32) [6]
>
> Не обращай на него внимания, у него юмор такой :) Ещё надо
> было оптимизацию применить, что если после сканирования
> n/2 элементов какой-либо счётчик > n - i, то данное число
> - самое частое, дальше можно только его подсчитывать, а
> не все счётчики вообще
Это называется оптимизацией? :)
← →
Palladin © (2007-01-06 13:36) [9]
> begin...end © (06.01.07 10:32) [6]
Видимо за то, что не учел, что элементов с максимальным количеством значений может быть несколько :)
Страницы: 1 вся ветка
Текущий архив: 2007.01.21;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.033 c