|
1 / 1 / 0
Регистрация: 15.05.2009
Сообщений: 20
|
|
Массив Z(n) разбить на m фрагментов случайной длины.15.05.2009, 16:13. Показов 3094. Ответов 12
Метки нет (Все метки)
Помогите решить задачку на Visual Basic... никак не получается. Условия задачи:
Массив Z(n) разбить на m фрагментов случайной длины. Фрагменты записать в матрицу A, содержащую m строк.
0
|
|
| 15.05.2009, 16:13 | |
|
Ответы с готовыми решениями:
12
Как целочисленный массив X из n элементов разбить на m фрагментов? Как разбить массив на подмассивы одинаковой длины?
|
|
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,976
|
||||||
| 15.05.2009, 17:23 | ||||||
|
А как можно n представить как сумму m случайных чисел? Я это смутно представляю.
Очевидно что в теории каждое число может принимать значения от 1 до m-n+1. При чем если генерировать поочередно каждое число с учетом уже накопленной суммы то последние несколько наверняка будут размером 1, что уже не есть "случайность". Скорее всего размеры должны распределяться по нормальному закону (Гауссовскому) около значения m/n. При чем график распределения не симметричный т.к. опять же нужно придерживаться допустимых значений, а середина этого (допустимого) интервала не совпадает с вертикальной ассимптотой графика распределения. График будет больше притянут к нулю. Либо я не так понял задание, либо это за пределами моих знаний ![]() Могу лишь предложить это:
После выполнения масив А содержит m значений (примерно таких: "1, 2, 3, 4" - кол-во чисел это и есть случайный размер интервала). В коде ошибка! если при генерировании размер одного из интервалов получается равным 0 то вылетает ошибка. Можно просто еще раз запустить код и может в этот раз повезет. Не могу пока придумать как это красиво избежать (а пора уже с работы домой бежать, извините за тавталогию), но постараюсь сделать.
1
|
||||||
|
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
| 15.05.2009, 17:26 | |
|
Toxa33rus, а если проверку на 0 поставить, что бы нули по второму разу перегенеривало?
1
|
|
|
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,976
|
||||||
| 15.05.2009, 17:41 | ||||||
|
Вот получилось без ошибок и даже код короче первого, но размеры интервалов всегда почти одинаковые (например 5,6,6,7,6). Если б я это делал для себя то переделал
![]()
1
|
||||||
|
1 / 1 / 0
Регистрация: 15.05.2009
Сообщений: 20
|
|
| 15.05.2009, 18:45 [ТС] | |
|
забыла написать, что мне нужен макрос для Excel на VBA
0
|
|
|
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,976
|
|
| 15.05.2009, 18:56 | |
|
По иронии судьбы именно там я и писал код
![]() Создайте макрос и вставьте код туда. Или нужно массив брать из ячеек? Тогда из каких и как? И куда выводить результат?
1
|
|
|
1 / 1 / 0
Регистрация: 15.05.2009
Сообщений: 20
|
|
| 15.05.2009, 20:11 [ТС] | |
|
Нужно создать форму, чтобы в текстовом поле вводить значения m и n
Добавлено через 12 минут 5 секунд создала 2 текстовых поля, чтобы вводить данные; кнопку, чтобы выводила результат, в результате программа ругается на строку A(i) = Mid(A(i), 1, Len(A(i)) - 2)
0
|
|
|
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,976
|
||
| 15.05.2009, 21:00 | ||
|
Через форму ввели только m и n или еще какие-то данные? (массив Z например) Вводите правильно? (n > m) Да вообще удалите эту строку (временно). Она только красоту наводит и ничего больше. Она удаляет запятую в конце строки: "1, 2, 3, ", становится "1, 2, 3".
1
|
||
|
1 / 1 / 0
Регистрация: 15.05.2009
Сообщений: 20
|
|
| 15.05.2009, 21:38 [ТС] | |
|
Private Sub CommandButton1_Click()
n = TextBox1.Text m = TextBox2.Text внутри твой код End Sub
0
|
|
|
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,976
|
||||||
| 16.05.2009, 17:20 | ||||||
|
Вы наверное использовали первый код, используйте второй, первый бажный какой-то.
Вот это работает:
1
|
||||||
|
1 / 1 / 0
Регистрация: 15.05.2009
Сообщений: 20
|
|
| 16.05.2009, 22:20 [ТС] | |
|
задачка странно работает,ошибок и никого результата не выдает...
я наверно че то не поняла...объясните пожалуйста
0
|
|
|
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,976
|
|||||||||
| 17.05.2009, 12:18 | |||||||||
![]() ![]() Вот, сделайте так:
Кстати можно на форме кнопку несколько раз нажимать и каждый раз будут разные результаты генерироваться. Сижу забавляюсь....
1
|
|||||||||
|
1 / 1 / 0
Регистрация: 15.05.2009
Сообщений: 20
|
|
| 17.05.2009, 12:25 [ТС] | |
|
спасибо огромное!!!
теперь можно идти спокойно зачет получать без проблем)))
0
|
|
| 17.05.2009, 12:25 | |
|
Помогаю со студенческими работами здесь
13
Добавление на форму последовательность элементов управления случайной длины Разработать программу, добавляющую на форму последовательность элементов управления случайной длины
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит значение перечислений.
/ / Событие "НачалоВыбора" реквизита на форме. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|