4 / 4 / 1
Регистрация: 26.12.2011
Сообщений: 263
1

Дан двумерный массив произвольной размерности

02.10.2013, 20:04. Показов 1659. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Попросили сделать, не очень шарю в VBA. Прошу помочь.
Дан двумерный массив произвольной размерности. Найти одномерный массив элементы которого равны минимальным значениям в строках исходной матрицы и одномерный массив элементы которого равны максимальным значениям в столбцах исходной матрицы.
0
02.10.2013, 20:04
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.10.2013, 20:04
Ответы с готовыми решениями:

Заполнить одномерный массив Z произведениями элементов двух векторов W и F произвольной размерности
Заполнить одномерный массив Z произведениями элементов двух векторов W и F произвольной размерности. надо составить программу эксель

Дан одномерный массив A размерности N
Excel. Дан одномерный массив A размерности N. Найти количество элементов,больших заданного числа B, расположенных между максимальным и...

Дан двумерный целый массив
Помогите, пожалуйста. Дан двумерный целый массив размерностью 4x6. Характеристикой столбца целочисленной матрицы назовем сумму его...

19
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
02.10.2013, 22:03 2
А массив где? Он уже на листе, или в вирт. памяти машины?
Если не секрет - а кто попросил?
0
4 / 4 / 1
Регистрация: 26.12.2011
Сообщений: 263
03.10.2013, 16:11  [ТС] 3
попросил знакомый парнишка)

Только вывел массив,не могу понять как найти два одномерных искомых массива
777.rar
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
03.10.2013, 17:02 4
Можете код воспринимать как шутку.
Взял Ваш подход с вирт. массивом. Но делал в обычном модуле, с выкладкой результатов на лист, что б Вам было легче проконтролировать.
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Sub OneDimARRAYS()
   Dim mMax#, mMin#, Strok&, Stolb&
   Dim A(), hARR(), vARR(), i&, j&
   mMax = 200: mMin = 10: Strok = 15: Stolb = 8
   ReDim A(1 To Strok, 1 To Stolb)
   ReDim hARR(1 To Strok, 1 To 1): ReDim vARR(1 To Stolb, 1 To 1)
   For i = 1 To Strok
      For j = 1 To Stolb
         A(i, j) = Int(Rnd() * (mMax - mMin)) + mMin
      Next j
   Next i
   For i = 1 To 2
      If i = 2 Then A = Application.Transpose(A)
         For j = LBound(A, 1) To UBound(A, 1)
            If i = 1 Then
               hARR(j, 1) = Application.Min(Application.Index(A, j, 0))
                  Else: vARR(j, 1) = Application.Max(Application.Index(A, j, 0))
            End If
         Next  'j
   Next ' i
   A = Application.Transpose(A)
   [b2].Resize(UBound(A, 1), UBound(A, 2)).Value = A
   [a20].Resize(UBound(hARR, 1), 1).Value = hARR
   [d20].Resize(UBound(vARR, 1), 1).Value = vARR
   MsgBox Space(10) & "D O N E!"
End Sub

Пробуйте. Может и понравится. . Ради справедливости. Index я у Hugo121 стянул. Пока он не видит.
0
6991 / 2890 / 554
Регистрация: 19.10.2012
Сообщений: 8,790
03.10.2013, 17:21 5
Не, это не моё, я не брал...
Ну так попользовал чуть - но простым циклом по массиву быстрее.
Хотя в данном коде - то что доктор прописал
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
03.10.2013, 18:26 6
Фуууу! Вроде Hugo драться не собирается!
Возвращаю. Немного подправил Вашу форму (это на радостях, потому-что терпеть не могу эти формы). Только за это, ну пожалуйста, ну обясните - ЭТО ТАКАЯ БОЛЕЗЬ, ИЛИ ТАК УЧАТ? Называть что-то второстепенное зарезервированными словами (у Вас это было textbox (-ы) Min, Max? Я немного поменял - сами увидите.
Вложения
Тип файла: rar Return_777.rar (20.0 Кб, 15 просмотров)
0
4 / 4 / 1
Регистрация: 26.12.2011
Сообщений: 263
16.10.2013, 15:51  [ТС] 7
Цитата Сообщение от Igor_Tr Посмотреть сообщение
Фуууу! Вроде Hugo драться не собирается!
Возвращаю. Немного подправил Вашу форму (это на радостях, потому-что терпеть не могу эти формы). Только за это, ну пожалуйста, ну обясните - ЭТО ТАКАЯ БОЛЕЗЬ, ИЛИ ТАК УЧАТ? Называть что-то второстепенное зарезервированными словами (у Вас это было textbox (-ы) Min, Max? Я немного поменял - сами увидите.
а можете объяснить поподробнее?
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
16.10.2013, 21:08 8
Не понятно. Что именно Вам не понятно.
0
4 / 4 / 1
Регистрация: 26.12.2011
Сообщений: 263
16.10.2013, 21:22  [ТС] 9
Цитата Сообщение от Igor_Tr Посмотреть сообщение
Не понятно. Что именно Вам не понятно.
сам код поподробнее желательно,для того чтобы понять)
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
16.10.2013, 21:49 10
Я честно не знаю, что именно Вам нужно обяснить. Раскидал про блокам. Смотрите.
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Sub OneDimARRAYS()
Dim mMax#, mMin#, Strok&, Stolb&, mstr$, A(), hARR(), vARR(), i&, j&
'--Reading--someDATA--from--UserForm-----
      With UserForm1
         mMax = .frmMax.Value:   mMin = .frmMin.Value
         Strok = .frmStrok.Value: Stolb = .frmStolb
      End With
'==End==Reading=======================
   ReDim A(1 To Strok, 1 To Stolb)
   ReDim hARR(1 To Strok, 1 To 1): ReDim vARR(1 To Stolb, 1 To 1)
'--Create--DataARRAY-------------------------
   For i = 1 To Strok
      For j = 1 To Stolb
         A(i, j) = Int(Rnd() * (mMax - mMin)) + mMin
      Next j
   Next i
'==End==Create===========================
'--Separate--Min--Max-----------------------
   ' & add to arrays...
   For i = 1 To 2
      If i = 2 Then A = Application.Transpose(A)
         For j = LBound(A, 1) To UBound(A, 1)
            If i = 1 Then
               mstr = mstr & Join(Application.Index(A, j, 0), ";" & Space(1)) & Chr(10)
               hARR(j, 1) = Application.Min(Application.Index(A, j, 0))
                  Else: vARR(j, 1) = Application.Max(Application.Index(A, j, 0))
            End If
         Next  'j
   Next ' i
'==End==Separate==========================
   Application.ScreenUpdating = False
   A = Application.Transpose(A):  ActiveSheet.Cells.Delete
   UserForm1.MAS.Caption = mstr 'array to UserForm
 '--Results--On--Sheet-----------------
   [a1].Value = "Array MINIMUM": [d1].Value = "Array  MAXIMUM"
   [a2].Resize(UBound(hARR, 1), 1).Value = hARR
   [d2].Resize(UBound(vARR, 1), 1).Value = vARR
'==end==with==Resutls==&==with==Sheets===========
'--EndAll-------------------------------------
   Application.ScreenUpdating = True
   MsgBox Space(10) & "D O N E!"
 '==End================================
End Sub

И я, если уже о-о-о-очень жизнь тяжелая заставляет использовать UserForm, пишу все коды в обычном модуле, которые вызываются из соответствующих (это слово мне написать тяжело, а как сказать? ) модулей формы. Есть в этом свои минусы, но плюсов много больше.
0
4 / 4 / 1
Регистрация: 26.12.2011
Сообщений: 263
17.10.2013, 18:32  [ТС] 11
желательно каждую строчку и переменную, первый раз с таким сталкиваюсь,ничего не могу понять(
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
17.10.2013, 20:49 12
Все равно не понятно. Пересказывать один из учебников? Или Вы все-таки что-то знаете, но какая-то комбинация Вас удивляет? Если первое - то пустая трата времени. Второе - уточняйте что, обяснить не будет проблема.
0
4 / 4 / 1
Регистрация: 26.12.2011
Сообщений: 263
17.10.2013, 21:00  [ТС] 13
давайте начнём с переменных
что они означают?

Добавлено через 1 минуту
максимум, минимум, столбцы,строки, далее я не понимаю

Добавлено через 6 минут
попросят меня объяснить каждую строчку, а я буду "мекать", "бекать"...
Желательно всё подробно описать(

Добавлено через 26 секунд
до этого не сталкивался с такой реализацией)
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
17.10.2013, 21:11 14
Вы думаете, я Вам лучше обясню, чем, например, John Walkenbach или Гарнаев? Я очень сомневаюсь в таких своих талантах.
Но если Вы про эту форму записи,:
Dim mMax#, mMin#, Strok&, Stolb&, mstr$, A(), hARR(), vARR(), i&, j&
тогда она звучит так:
Dim mMax as double, mMin as double, Strok as Long, Stolb as long, mstr as string
dim a() ' массив как variant
dim hARR() ' массив как variant
dim vARR() ' массив как variant
dim i as long, j as long

И все это есть у перечисленных уважаемых авторов.
0
4 / 4 / 1
Регистрация: 26.12.2011
Сообщений: 263
17.10.2013, 21:16  [ТС] 15
в том то и дело,что я их не проходил(
как учили,так я и пытался реализовать,
но Вы, предложили совсем иной,чуждый мне вариант, поэтому хотелось бы побольше конкретики
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
17.10.2013, 21:29 16
Извините, теперь я не понимаю. Учили Вас где? В школе? Или помогали Вам учиться в Вузе? А если, то по каким учебникам? Или только по методичкам?
Поэтому говорю - согласен обяснить, но сам хочу понять, что именно.
0
4 / 4 / 1
Регистрация: 26.12.2011
Сообщений: 263
17.10.2013, 21:43  [ТС] 17
в колледже,насчет литературы не знаю,писали конспекты,но такого не было(
я бы хотел чтобы полностью разузнать значение (обзначение) каждой строки
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
17.10.2013, 22:04 18
Если я Вам посоветую - прислушаетесь? На форуме, в шапке, найдите указанных авторов. Скачать (безвозмездно) в сети можно найти! Почитайте их (мне лично John, но и Гарнаев читал с интересом. Не меньшим!). А потом по коду, что будет не понятно - обещаю - помогу. И, думаю, не только я. Здесь, на форуме, не злые люди. Иначе точно, как Alien, буду сам себя за хвост кусать, а толку мало. А конспект - это так... Тезисы... Планы... Намечание курса ...
0
4 / 4 / 1
Регистрация: 26.12.2011
Сообщений: 263
17.10.2013, 22:07  [ТС] 19
Хорошо)
Спасибо за совет.
0
 Аватар для Sasha_Smirnov
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
20.10.2013, 14:49 20
Цитата Сообщение от Richik123 Посмотреть сообщение
Попросили сделать
Цитата Сообщение от Richik123 Посмотреть сообщение
первый раз с таким сталкиваюсь
А если на скрипке поиграть попросят...

Тоже могу пообъяснять: Поменять местами мин. и макс. элементы в каждом столбце таблицы

Добавлено через 9 минут
Вот тут вообще Песнь о вещем Эксселе: Поменять местами максимальный и минимальный элементы массива!

Добавлено ещё через 10 минут
И вот почти один в один по теме, притом в Word: Сформировать вектора х(4), значения элементов которого являются максимальные значения столбцов матрицы

Добавлено ещё через 11 часов 55 минут
Тут я бы предложил свой вариант перевода на русский: Сформировать вектор, значениями элементов которого являются максимальные значения столбцов матрицы.

Ведь осознание формулировки задачи (на родном языке) — прямая дорога к её решению!
0
20.10.2013, 14:49
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.10.2013, 14:49
Помогаю со студенческими работами здесь

Сформировать матрицу произвольной размерности по правилу
Здравствуйте! Прошу помочь в решения задачи: Сформировать матрицу произвольной размерности на рабочем листе Excel Вопрос как...

Ввести двумерный массив произвольной размерности, раскрасить в нем при выводе желтым цветом
Ввести двумерный массив произвольной размерности, раскрасить в нем при выводе желтым цветом строки, не содержащие нулей.

Ввести двумерный массив произвольной размерности и получить из него два одномерных массива по правилу
2.Ввести двумерный массив произвольной размерности, получить из него два одномерных массива: один заполнить положительными элементами...

Ввести двумерный массив произвольной размерности, определить количество четных по значению элементов каждой строки
Помогите решить пожалуйста прогу! Ввести двумерный массив произвольной размерности, определить количество четных по значению элементов...

Ввести двумерный массив произвольной размерности, найти первый кратный 5 элемент каждой строки массива
Тема:Двумерные числовые массивы. 1.Ввести двумерный массив произвольной размерности , найти первый кратный 5 элемент каждой строки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Использование кэша Laravel - полный гайд
bytestream 18.02.2025
Кэширование - один из наиболее эффективных способов повышения производительности веб-приложений. В современном мире, где скорость загрузки страниц напрямую влияет на удержание пользователей и. . .
Создаем REST API в Laravel с аутентификацией и Passport
bytestream 18.02.2025
Разработка современных веб-приложений все чаще требует создания надежного и хорошо структурированного API. REST API стал стандартом де-факто для построения взаимодействия между клиентской и серверной. . .
Пайплайны в Laravel - полный гайд
bytestream 18.02.2025
Разработка современных веб-приложений часто требует обработки сложных процессов, состоящих из множества последовательных шагов. Например, при создании системы комментариев может потребоваться. . .
Как правильно использовать @required в Symfony
bytestream 18.02.2025
При разработке приложений на Symfony мы часто сталкиваемся с необходимостью внедрения зависимостей. Фреймворк предоставляет несколько способов управления этим процессом, и одним из таких инструментов. . .
Система безопасности в Laravel: возможности и примеры
Wired 18.02.2025
Каждый день появляются новые виды атак и уязвимостей, которые могут поставить под угрозу конфиденциальные данные пользователей и функционирование всей системы. В этом контексте выбор надежного. . .
Давайте сравним Django и Laravel
Wired 18.02.2025
Django и Laravel - два мощных инструмента, которые часто сравнивают между собой. Оба фреймворка предлагают разработчикам богатый набор возможностей для создания масштабируемых веб-приложений, но. . .
Laravel или React - что лучше?
Wired 18.02.2025
В разработке веб выбор правильного инструмента часто определяет успех всего проекта. Особенно интересным представляется сравнение Laravel и React - двух популярных технологий, которые часто. . .
Laravel 11: новые возможности, гайд по обновлению
Wired 18.02.2025
Laravel 11 - это новая масштабная версия одного из самых популярных PHP-фреймворков, выпущенная в марте 2024 года. Эта версия продолжает традицию внедрения передовых технологий и методологий. . .
Миграции в Laravel
Wired 18.02.2025
Разработка веб-приложений на Laravel неразрывно связана с управлением структурой базы данных. При работе над проектом часто возникает необходимость вносить изменения в схему базы данных - добавлять. . .
Аутентификация в Laravel
Wired 18.02.2025
В современном мире веб-разработки безопасность пользовательских данных становится критически важным аспектом любого приложения. Laravel, как один из самых популярных PHP-фреймворков, предоставляет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru