![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Друзья!
Подскажите мне, пожалуйста, как решить такую задачу: Есть массив случайных элементов 20х20. Необходимо разбить элементы на 5 диапазонов (интервалов) и определить какое количество элементов попадает в каждый интервал. В итоге должна получится следующая таблица Диапазон: 1 2 3 4 5 Количество чисел в диап: 6 2 2 6 4 Наверно, сперва определяем Максимальный и минимальный элемент и (MAX-MIN)/(5-1). Так определяем шаг диапазона. А как дальше, как быть? Спасибо! |
|
#2
|
||||
|
||||
|
вотава
Код:
procedure TForm1.Button4Click(Sender: TObject);
var
min, max, diapazon, d1, d2, d3, d4, d5, c, r : integer;
begin
Max := aa[1,1];
Min := aa[1,1];
d1:=0;
d2:=0;
d3:=0;
d4:=0;
d5:=0;
for c := 1 to 20 do
for r := 1 to 20 do
begin
if Max < aa[c, r] then Max := aa[c, r];
if Min > aa[c, r] then Min := aa[c, r];
end;
diapazon:=round((max-min) / 5);
for c := 1 to 20 do
for r := 1 to 20 do
begin
if (min <= aa[c, r]) and (aa[c, r]<=diapazon) then inc(d1);
if (diapazon < aa[c, r]) and (aa[c, r]<=diapazon*2) then inc(d2);
if (diapazon*2 < aa[c, r]) and (aa[c, r]<=diapazon*3) then inc(d3);
if (diapazon*3 < aa[c, r]) and (aa[c, r]<=diapazon*4) then inc(d4);
if (diapazon*4 < aa[c, r]) and (aa[c, r]<=max) then inc(d5);
end;
LABEL6.Caption:='MIN = '+ IntToStr(MIN);
LABEL7.Caption:='MAX = '+ IntToStr(MAX);
LABEL1.Caption:='diap1 = '+ IntToStr(d1);
LABEL2.Caption:='diap2 = '+ IntToStr(d2);
LABEL3.Caption:='diap3 = '+ IntToStr(d3);
LABEL4.Caption:='diap4 = '+ IntToStr(d4);
LABEL5.Caption:='diap5 = '+ IntToStr(d5);
end; |