Другие языки программирования и технологии

Простая задача на VBA ! Помогите советом ...

Задача : Ввести в два столбца набор любых чисел. Высчитать уникальное число и высчитать число которое повторяется чаще всего ! Проблема в том что даже не знаю с чего начать ...помогите хоть советом на что обратить внимание ! Может построить массив случайных чисел, тогда как сделать выборку ? Дело в том что я и примерно не понимаю о чём сдесь идёт речь ...И в какой столбец нужно ввести числа это же не эксель !! Спасибо ...
ну, так вот в Экселе и делай

как я понял - то числа нужно ввести вручную

а вот скрипт должен эти числа считать в массив и посчитать чего там нужно.. .
RR
Rustam Rustamov
62 801
Лучший ответ
1)2 столбца - это массив из N строк и 2 столбцов назовем его AA(N,2), его заполнение тебе предложили тут
2) если все таки упор на ВВЕСТИ - то использовать надо хотя бы inputbox()
3)уникальность это число повторение = 1, и самое часто повторяющеееся число - это число повторений - максимально, дле решения заводишь другой 2-мерный массив типо
ММ (2*N,2) у которого 1-й столбец 2N чисел твоего набора, а второй число повторений этих чисел

kk = 0
maxp = 0
for ii = 1 to N
for jj = 1 to 2
priz = true
for ll = 1 to kk
if MM(ll,1)=AA(ii,jj) then 'нашли число увеличиваем число повторений
MM(ll,2) = MM(ll,2)+1 'увеличили число повторений
if MM(ll,2)>maxp then
maxp = MM(ll,2) 'нашли более максимальное число повторов
endif
priz = false ' число найдено
end for 'выйдем из цикла поиска повторов
endif
next ll
if priz then
kk = kk+1 'нашли новое уникальное число
MM(kk,1) = AA(ii,jj)
MM(kk,2) = 1
endif
next jj
next ii
после работы этого алгоритма maxp указывает на самое частое повторяющееся число из твоего набора, а все числа с числом повторений =1 - уникальны
Задан VBA, а не VB или VBS
значит таблицы внешние для него и сидят в том Application для которого он VBA.
И речь скорее всего именно об экселевских столбцах, а не массиве в памяти проги
VS
Vladimir Suvorov
75 320
если в VBA(ALT-F11) набрать подобную программку и кликнуть где-нибудь на 1 листе, появятся 2 столбца чисел.
Их кол-во и диапазон изменяются параметрами программки.
а дальше их обработать в соответствии с требованиями
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

For i = 1 To 10
Cells(i, 1) = Int(Rnd() * 30)
Cells(i, 2) = Int(Rnd() * 20)
Next

End Sub