|
|
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
помогите пожалуйста написать программу...совсем заваливаюсь... нужно провести фильтрацию полученных чисел х, сформированных на листе Excel столбец, сосоящий из 30 элементов,случайных чисел Х, распределенных равномерно в диапазоне [2,7]u[9,10]. В виде фильтрации Х принадлежит промежутку [max/4, max]. помогите пожалуйста, вы просто наверна даже спасете мне жизнь, как это не банально звучит, но такое может быть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 19:30 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
Цветланаапомогите пожалуйста написать программу...совсем заваливаюсь... нужно провести фильтрацию полученных чисел х, сформированных на листе Excel столбец, сосоящий из 30 элементов,случайных чисел Х, распределенных равномерно в диапазоне [2,7]u[9,10]. В виде фильтрации Х принадлежит промежутку [max/4, max]. помогите пожалуйста, вы просто наверна даже спасете мне жизнь, как это не банально звучит, но такое может быть) Нужно обеспечить ТОЛЬКО фильтрацию или необходимость создания диапазона случайных чисел - тоже на твоей совести? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 08:12 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
Кажется так: 1. Открываешь Excel 2. Заполняешь диапазон А2:А31 диапазоном случайных чисел (СЛЧИС(), если преподаватель спросит). Формулу создания случайного числа в заданном дапазоне "от и до" найдешь на форуме. 3. Копируешь этот диапазон на то же место, но уже в виде значения, чтобы каждый раз оно не пересчитывалось ("Специальная вставка" называется) 4. Диапазон B2:B31 заполняешь формулой "=ЕСЛИ(И(A2<=9,1;A2>=9,1/4);A2;0)"... ессно, А2 меняется от А2 до А31 5. Применяешь на диапазоне B2:B31 автофильтр (Данные - Фильтр), выбираешь "Не равно 0". 6. Получаешь нужный диапазон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 08:27 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
спасибо за помощь... я правда уже сама сделала...там оказывается очень прсто)) нужно было просто ввести мой диапозон и написать всего две формулы Лист1.ells(i,1) = ((d2 - d1 + 1) * Rnd + d1 другая в таком же духе))) спасибки а можно мне задать вопрос по другому?? вот мы получили данные по этой программе, а как их упорядочить в матьрице?...там получаются очень громоздкие числа и не натуральные..очень много... Их нужно расположить по возрастанию по диагонали параллельным главной 7 11 14 16 4 8 12 15 2 5 9 13 1 3 6 10 причем матрица размерности К как это их так расположить? ну т.е. какой мне писать диапозон?? For j=1 To ... (какое чило?) 30 ?? я просто не понимаю как так расположить по диагонали параллельным главной...вот в чем вопрос((( если не турдно..помоги пожалуйста еще раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2006, 12:54 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
Цветланааесли не турдно..помоги пожалуйста еще раз да я б с радостью... только я вопроса нифига не понял :(( что имеется (желательно на примере, т.к. уже вторая бутылка пошла), что нужно получить (тоже желательно на примере...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2006, 21:49 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
"...по диагонали параллельным главной..." Что это было? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2006, 01:29 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
Там, кстати, 30 элементов, и матьрица не квадратная. Где диагональ делать будем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2006, 01:40 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
Там, наверно, идея такова. Допустим, есть матрица (позволю себе каприз - квадратная) из 25 элементов. Для простоты, заполним ее числами от 1 до 25. Тогда главная диагональ будет заполнена равноотстоящими от границ массива чисел элементами. Это числа 11,12,13,14,15. Их пять по числу элементов в диагонали. Справа и слева от них - ровно по десять оставшихся элементов. Далее, справа и слева от этого диапазона выстраиваем укорачивающиеся упорядоченные отрезки - младшие диагонали. Чем короче, тем и младше. В нижнем треугольнике матрицы это: [7,8,9,10], [4,5,6] и [1]. Соответственно, в верхнем, это [16,17,18,19], [20,21,22] [23,24] и [25]. Индексы же элементов будут аккуратно сползать и нарастать, что удобно для кодирования. Желающие могут построить такой алгоритм для произвольной квадратной матрицы. По-моему, это совсем несложно. VladConn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2006, 02:07 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
Вставьте в нижний треугольник пропущенную младшую диагональ [2,3]. VladConn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2006, 02:10 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
nibbles Цветланааесли не турдно..помоги пожалуйста еще раз да я б с радостью... только я вопроса нифига не понял :(( что имеется (желательно на примере, т.к. уже вторая бутылка пошла), что нужно получить (тоже желательно на примере...) Здание звучит так: Заполнить квадратуню матрицу размерности К (тогда наверна будем писать 25 элементов,да?) числами, полученными после фильтрации и упорядочить ее по заданному закону: расположить по возрастанию по диагоналям, параллельной главной 7 11 14 16 4 8 12 15 2 5 9 13 1 3 6 10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2006, 12:50 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
VladConnТам, наверно, идея такова. Допустим, есть матрица (позволю себе каприз - квадратная) из 25 элементов. Для простоты, заполним ее числами от 1 до 25. Тогда главная диагональ будет заполнена равноотстоящими от границ массива чисел элементами. Это числа 11,12,13,14,15. Их пять по числу элементов в диагонали. Справа и слева от них - ровно по десять оставшихся элементов. Далее, справа и слева от этого диапазона выстраиваем укорачивающиеся упорядоченные отрезки - младшие диагонали. Чем короче, тем и младше. В нижнем треугольнике матрицы это: [7,8,9,10], [4,5,6] и [1]. Соответственно, в верхнем, это [16,17,18,19], [20,21,22] [23,24] и [25]. Индексы же элементов будут аккуратно сползать и нарастать, что удобно для кодирования. Желающие могут построить такой алгоритм для произвольной квадратной матрицы. По-моему, это совсем несложно. VladConn Если мы заполняем ее числами от 1 до 25, то тогда пишем For j=1 To 25 или как писать?я не понимаю(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2006, 12:52 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
смотрите... задание см. выше...заполнить квадратную матрицу числами полученными после фильтрации... вот она фильтрация: Sub Фильтрация () 'определение процедуры фильтрации Max=Лист1.Cells(1,1) 'задаем макс. ячейку For i=2 To 30 ' цикла для поиска макс. значения If (Лист1.Cells(i,1) 'проверка выполнения условия End If Next i k=1 For i=1 To 30 'цикл для поиска занчения из заданного промежудка If Лист1.Cells(i,1)>Max\4 And Лист1.Сells(i,1)<Max Then 'если ячейка из столбца случайных чисел > Max\4 или < Max, тогда ... Лист1.Cells(k,4)=Лист1.Cells(i,1) 'выводим эту ячейку в 4 чтолбец k=k+1 'шаг цикла End If 'завершения условия Next i ' зверешение цикла End Sub ' завершение процедуры Так вот..тперь нам нада заполнить квадратную матрицу...Мы пишем вместо промежудка For i=2 To 30 промежуток For i=1 To 25 u For j=1 To 25 Да?? А что дальше?? что насчет диагонали???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2006, 22:11 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
Так главная диагональ, это элементы с индексами (1,1), (2,2), (3,3), (4,4), (5,5). Там скромно сидят самые средние условные значения 11,12,13,14,15. Т.е., код для главной диагонали такой: 1. Вычисляем ее длину L= SQRT(25). Это 5. 2. Вычисляем ее элементы для общего случая: For k = 1 to L MyMatrix(k,k) = MyArray(25-15+k) 'где 25 - число ваших элементов, a 15 = L + (25-L)/2, MyArray - это ваш упорядоченный одномерный массив случайно отобранных величин. Next k 3. Проявляем инициативу и смекалку и сами пишем код для младших диагоналей. Только не пишем больше "промежудок". Не надо. Смодреть жудко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 04:48 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
А легкий способ упорядочить массив, прежде чем его потребить на двумерную матрицу, загнать его в сортированный лист бох и прочитать его, записав обратно в массив. Но можно и пузырьками или чем там у вас сейчас сортируют. Важно не мешать этот интим с внутриматричными проблемами. Мухи отдельно, котлеты отдельно. Т.е., нужно написать отдельную функцию, возвращающую упорядоченный массив и потребляющую в виде параметра исходный массив, неупорядоченный и случайный. Будьте начеку с массивами. В прошлых версиях VB была проблема с их передачей, и нужно было использовать Variant вместо массивов. Но это уже другая история. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 05:10 |
|
||
|
Провести фильтрацию полученных данных...программа
|
|||
|---|---|---|---|
|
#18+
=))))))))))))) хорошо промежуДок..писать больше не буду)))))))) а насчет программы...так я чего то ничего не поняла(( причем тут массив.у меня простая программа в Visial Basic... и кстати..что такое L= SQRT(25) ??? и я думаю MyMatrix(k,k) = MyArray(25-15+k) тут точна не нужна... канешна нажно написать (k,k) = (25-15+k) Но как-то по другому... и все-так элементы с индексами (1,1), (2,2), (3,3), (4,4), (5,5) как их записать то?? вот именно в мою фильтрацию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 18:23 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34155863&tid=2164910]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
147ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 498ms |

| 0 / 0 |
