Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2011, 02:50   #1
clever77
Пользователь
 
Регистрация: 13.04.2011
Сообщений: 58
По умолчанию Как обойтись без сортировки данных?

Задачка
Построить диаграмму распределения количества проданных товаров по цене.
Есть два массива price -цена товара и volume - объем товара проданного по данной цене.(т.е 1-ый покупатель приобрел 2 шт. товара по цене 1р., второй покупатель 4шт по 2р., 3-ий 3шт по 1р. и т.д.)
К примеру:
price 1р. 2р. 1р. 3р. 5р. 1р.
volume 2 4 3 1 3 5
Первое что приходит в голову отсортировать массив price от мин к макс т.е
price 1р. 1р. 1р. 2р. 3р. 5р. и массив volume привести в соответствие отсортированному массиву price
volume2 3 5 4 1 3

А далее по условию просто складывать
Создаем два массива Price1 -цена и volume1- куда запишем суммарный объем соответствующий данной цене
К примеру

K=0, где к - порядковый номер элемента в масиивах price1 и volume1
volume1 (0)=volume (0)
price1(0) = price (0)

For I=0 to (D-1), где D - длина массива

If price(I)=price(I+1) then
volume1 (K)=volume1(K)+volume(I+1)
Else
K=K+1
price1 (k)=price(I+1)
volume1(K)=volume(I+1)
End if
Next I
Подскажите, каким образом можно выполнить эту задачку не используя сортировку данных. Может кто знает способ проще......
clever77 вне форума Ответить с цитированием
Старый 23.04.2011, 15:12   #2
clever77
Пользователь
 
Регистрация: 13.04.2011
Сообщений: 58
По умолчанию

На выходе получаем массив
Price1 (1р.2р.3р.5р.)
volume1(10,4,1,3)

Т.е. по цене 1р. продано 10шт, по цене 2р. 4шт ит.д

Поясню, почему спрашиваю
Если наименование товара одно и тоже, можно и таким способом, но если их 10, то сначала придется сортировать по наименованию и цена и объем соответственно, а потом в пределах каждого наименования нужно производить сортировку по цене и объем соответственно, хотелоь бы как то упростить.

нужно не столько программа сколько идея, прогу под идею составить уже будет проще

Последний раз редактировалось clever77; 23.04.2011 в 15:39.
clever77 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присвоить номер места в массиве без сортировки. vera_ira Microsoft Office Excel 5 30.03.2010 16:34
Как обойтись без DbGrid? theYozh БД в Delphi 6 03.01.2010 01:53
Как обойтись без события OnActivate? _Инженер_ Общие вопросы Delphi 4 01.10.2009 17:23
Требуется помощь в сортировки данных. kola672 Microsoft Office Excel 36 19.04.2009 01:14
Обойтись без таймера Pedro Общие вопросы Delphi 1 20.11.2008 21:20