|
0 / 0 / 0
Регистрация: 03.01.2010
Сообщений: 6
|
|
Фильтрация двумерного массива03.01.2010, 01:21. Показов 6569. Ответов 10
Метки нет (Все метки)
В общем ситуация следующая: я создал двумерный массив состоящий из рэндомных чисел (размерность массива и диапазон чисел задаю с клавиатуры), после чего отфильтровал его по заданному условию и обнулил все те значения которые не подходили по условиям фильтра. В результате получил тот же массив но с нулями на тех местах где раньше стояли значения не подходящие под условия фильтра.
Уважаемые знатоки! Внимание, вопрос! - как из получившегося массива сделать двумерный массив но другой размерности (размерность нужно задать с клавиатуры) так чтобы исчезли все нули, а на их место стали другие числа из массива ? Заранее благодарю всех тех кто хоть как-то поможет мне в решении это не легкой для меня задачи =)) Спасибо
0
|
|
| 03.01.2010, 01:21 | |
|
Ответы с готовыми решениями:
10
Преобразование двумерного массива Сортировка двумерного массива Сортировка двумерного массива |
|
134 / 79 / 6
Регистрация: 06.04.2009
Сообщений: 192
|
|
| 03.01.2010, 08:16 | |
|
А какие другие числа? И какой другой размерности? А если в какой-либо строке нулей больше, чем в остальных? И, вообще, желательно образец выложить сюда.
0
|
|
|
0 / 0 / 0
Регистрация: 03.01.2010
Сообщений: 6
|
||||||
| 03.01.2010, 11:36 [ТС] | ||||||
В принципе из этого должно быть понятно что в итоге получается, а именно, при нажатии кнопки три происходит фильтрация и на листе под старым массивом появляется новый (той же размерности) но на месте где в старом массиве были числа которые не подходят под параметры фильтра стоят нули. Вопрос остается неизменным - нужно создать третий массив который получится из второго, но в нем должны быть все числа кроме нулей, из чего логично следует что размерность массива может измениться. У меня в приведенной части кода есть кусочек где программа считает сколько не нулевых значений получается после фильтрации и исходя из этого можно задать с клавиатуры размерность новой матрицы. Вроде разжевал подробно. Если будут вопросы, пишите =)))
0
|
||||||
|
134 / 79 / 6
Регистрация: 06.04.2009
Сообщений: 192
|
||||||
| 04.01.2010, 12:35 | ||||||
|
Переработал Ваши наработки (извиняюсь за тавтологию). Все commandbutton-ы свёл в один блок, некоторые строки Вашего кода не стал удалять, а закомментарил (чтобы было видно, в чём изменения), и, для наглядности результата кое-что переделал.
Полученный массив не является "нормальным", т.к. содержит пустые ячейки. Количество пустых ячеек в каждой строке м.б. разным. Теперь вопрос: как Вы хотите определить размерность выводимого массива, если, например, количество ненулевых значений в нём будет под несколько тысяч? Или Вам нужна ещё прога, определяющая, на какое число (в заданных пределах) без остатка делится общее количество значений массива? Добавлено через 4 часа 50 минут P.S. Да, надо ещё помнить, что есть числа, которые делятся только на 1 и на себя. Как тогда выводить такой массив (например, из 29 чисел)?
1
|
||||||
|
0 / 0 / 0
Регистрация: 03.01.2010
Сообщений: 6
|
|
| 04.01.2010, 13:03 [ТС] | |
|
Огромное спасибо за переработку кода!!! =)
Вот впринципе само задание которое нужно сделать: 1. Сформировать на листе Excel матрицу случайных чисел X, распределенных равномерно в диапазоне [A1;A2]. Значения A1 и A2 задаются с клавиатуры. 2. Провести фильтрацию полученных чисел X. Вид фильтрации: X не пренадлежит [max/5;max/2]. 3. Заполнить квадратную матрицу размерностью k числами, полученными после фильтрации. Размерность k вводится с клавиатуры. Как видно, первые два пункта я с горем пополам написал и Вы мне поправили. Вся загвоздка в третьем пункте. Насколько я понимаю там не важно сколько значений будет получено, ведь датчик не нулевых значений у нас уже написан и он выдает их количество. Исходя из этого количества можно расчитать квадратную матрицу (например если не нулевых значений получилось 13, то ближайшая квадратная матрица 4x4 - 16 значений, так как у нас только 13 то оставшиеся последние ячейки нужно заполнить тупо нолями) и построить ее.
0
|
|
|
134 / 79 / 6
Регистрация: 06.04.2009
Сообщений: 192
|
||||||
| 05.01.2010, 07:32 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 03.01.2010
Сообщений: 6
|
|
| 05.01.2010, 08:11 [ТС] | |
|
И еще раз Огромнейшее спасибо Вам за помощь !!!! Только я не понял один момент, а где ввод размерности k с клавиатуры ? =)
0
|
|
|
134 / 79 / 6
Регистрация: 06.04.2009
Сообщений: 192
|
||
| 05.01.2010, 13:38 | ||
|
Могу подсказать: через InputBox запрашиваете размерность, это значение используете в формировании нового массива. Строки 63-66 - автоматическое вычисление новой размерности. Заменяете их на диалог с юзером, и - всё!
0
|
||
|
0 / 0 / 0
Регистрация: 03.01.2010
Сообщений: 6
|
|||||||||||
| 05.01.2010, 23:25 [ТС] | |||||||||||
|
Спасибо за разъяснение, сейчас буду пробовать =)
Добавлено через 6 часов 17 минут Я тут пытаюсь отсортировать полученный массив методом пузырька, по возрастанию, но ничего не получается. Вот код который я применяю
Добавлено через 2 часа 3 минуты Прошу прощения за глупость которую я написал, самому стыдно =))) Я переписал код, вот он:
Но осталась одна проблема, программа не все нули убирает в начало. То есть она часть нулей получившихся в конечной матрице ставит в начало, потом идет возрастание массива и часть в конце массива. Не могу понять почему так ?
0
|
|||||||||||
|
134 / 79 / 6
Регистрация: 06.04.2009
Сообщений: 192
|
||||||
| 07.01.2010, 08:09 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 03.01.2010
Сообщений: 6
|
|
| 07.01.2010, 13:01 [ТС] | |
|
СПАСИБО !!!!!!!!!!!!!!!!!!!!!!!!!!
0
|
|
| 07.01.2010, 13:01 | |
|
Помогаю со студенческими работами здесь
11
For Each для двумерного массива
Сортировка двумерного массива по столбцу Рандомное заполнение двумерного массива Вывод отсортированного двумерного массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|