Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.07.2009, 20:15
geroy geroy вне форума
Прохожий
 
Регистрация: 27.06.2009
Сообщения: 6
Репутация: 10
По умолчанию Распределение элементов по диапазонам

Друзья!
Подскажите мне, пожалуйста, как решить такую задачу:
Есть массив случайных элементов 20х20.
Необходимо разбить элементы на 5 диапазонов (интервалов) и определить какое количество элементов попадает в каждый интервал.
В итоге должна получится следующая таблица
Диапазон: 1 2 3 4 5
Количество чисел в диап: 6 2 2 6 4


Наверно, сперва определяем Максимальный и минимальный элемент и (MAX-MIN)/(5-1). Так определяем шаг диапазона. А как дальше, как быть? Спасибо!
Ответить с цитированием
  #2  
Старый 05.07.2009, 00:30
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

вотава
Код:
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;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:18.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter