Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Help!!! listBox найти max кол. повторяющихся элементов


Страницы:   1 2

Roman_ln ©   (2006-12-08 11:30:00) 

Может алгорим какой есть(список сортирован)


Elen   (2006-12-08 12:03:00) [21]


> Удружила.

Гм. Гм. Значит вот еще версия ;) (Хи-Хи)

procedure TForm1.FormCreate(Sender: TObject);
var k,i:integer;
begin
i:=0;      k:=1;              
while i<ListBox1.Count do begin
 if (i=ListBox1.Count-1) then ListBox2.Items.Append(ListBox1.Items[i]+' Кол-во '+inttostr(k))
 else
  if (ListBox1.Items[i]<>ListBox1.Items[i+1])
  then    begin
   ListBox2.Items.Append(ListBox1.Items[i]+' Кол-во '+inttostr(k));
   k:=0;
  end;
 inc(i); inc(k);
end;
end;


Jeer   (2006-12-08 12:02:00) [22]


> Только там с последним элементом могут быть проблемы...


Удружила.


Anatoly Podgoretsky   (2006-12-08 12:01:00) [23]

> Jeer  (08.12.2006 11:55:11)  [11]

Это не беда, а вот что в программирование рванулся некоторый контингент, это точно беда.


Elen   (2006-12-08 12:00:00) [24]


> Roman_ln

Ой пардон не то кидаю :


procedure TForm1.FormCreate(Sender: TObject);
var k,i:integer;
begin
i:=0;      k:=1;              //ListBox2.Items.Append('');
while i<ListBox1.Count do begin
 if (i=ListBox1.Count-1) then ListBox2.Items.Append(ListBox1.Items[i])
 else
  if (ListBox1.Items[i]<>ListBox1.Items[i+1])
  then    begin
   ListBox2.Items.Append(ListBox1.Items[i]+' '+inttostr(k));
   k:=0;
  end;
 inc(i); inc(k);
end;
end;


Во втором Листе будут Числа и колво их повторения. Только там с последним элементом могут быть проблемы...


Anatoly Podgoretsky   (2006-12-08 12:00:00) [25]

> Roman_ln  (08.12.2006 11:54:09)  [9]

Это просто, синтаксис создания массива описан в справке, как для статических, так и динамических массивов. Но я не могу понять как можно программировать без массивов?


Elen   (2006-12-08 11:57:00) [26]


> Elen поможеш с меня шоколадка :0)

Лови горечко :
В одном ЛистБоксе исходные данные, для них выставь Sorted
Dj второй листбокс отбираются все но без повторов


procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
i:=0;                    //ListBox2.Items.Append('');
while i<ListBox1.Count do begin
 if (i=ListBox1.Count-1) then ListBox2.Items.Append(ListBox1.Items[i])
 else
  if (ListBox1.Items[i]<>ListBox1.Items[i+1])
  then ListBox2.Items.Append(ListBox1.Items[i]);
 inc(i);
end;
end;


Пойдет?


Jeer   (2006-12-08 11:55:00) [27]


> надо ещё массив создать


Это точно беда.


Roman_ln   (2006-12-08 11:54:00) [28]

Анатолий чтоб сделать max надо ещё массив создать


Roman_ln   (2006-12-08 11:54:00) [29]

Анатолий чтоб сделать max надо ещё массив создать


Anatoly Podgoretsky   (2006-12-08 11:53:00) [30]

> Roman_ln  (08.12.2006 11:45:04)  [4]

А массив заносится просто

Ar[Index] := Value;


Anatoly Podgoretsky   (2006-12-08 11:52:00) [31]

> Roman_ln  (08.12.2006 11:38:02)  [2]

О теперь появилась функция MAX, ну так реализация входит в понятие третьего класса школы.


Jeer   (2006-12-08 11:52:00) [32]


> Roman_ln ©   (08.12.06 11:48) [5]


Замени петь, вась, вань на рубли, доллары, теньга, фунты, флорины (можно золотые), а для получения сделанного для тебя решения - ссыпь в мой карман.


Roman_ln   (2006-12-08 11:48:00) [33]

т.е. если
петя
ваня
ваня
ваня
петя
коля

то итог:
петя - 2
ваня - 3
коля - 1

Elen поможеш с меня шоколадка :0)


Roman_ln   (2006-12-08 11:45:00) [34]

Elen :
for i:=0 to ListBox2.Count-2 do begin
  if ListBox2.Items[i]=ListBox2.Items[i+1] then begin
             j:=j+1;
  end;
end;
edit2.Text:=IntToStr(j);
как занести в массив элемент и кол. повторений???
вот в чём вопрос:)


Elen   (2006-12-08 11:42:00) [35]


> Roman_ln

Поставь в лист боксе сортировку по алфавиту, потом в одном цикле считай кол--во повторов


Roman_ln   (2006-12-08 11:38:00) [36]

Нет.
Мне нужно определить из всего списка макс. повторяющихся
т.е.
петя
ваня
ваня
ваня
петя
коля

Итог ваня-3 раза
Если делать тупым сравнением и занасить в массив то при большой массиве "тормаз" обеспечен


Anatoly Podgoretsky   (2006-12-08 11:34:00) [37]

> Roman_ln  (08.12.2006 11:30:00)  [0]

А описаного недостаточно, или нужен разжеваные до стадии манной каши?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо