Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
dumbizka

Нахождение таких элементов матрицы, которые больше других в своем столбце

29.05.2013, 21:40. Показов 1150. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
нужно написать программу для нахождения таких элементов, которые больше других в своем столбце и к тому же слева от них находится элемент меньше а справа больше
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.05.2013, 21:40
Ответы с готовыми решениями:

Найти количество таких элементов последовательности, которые имеют в своем составе цифру 5
Пусть имеется последовательность произвольных целых ненулевых чисел, завершающаяся числом 0 (число 0 в последовательность не входит). ...

Найти количество таких элементов последовательности, которые имеют в своем составе цифру 5
найти количество таких элементов последовательности которые имеют в своем составе цифру 5

Найти элементы матрицы, которые являются наименьшими в своей строке и наибольшими в своем столбце
В квадратной матрице нужно найти элементы (и запомнить их значения и координаты), которые являются наименьшими в своей строке и наибольшими...

1
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
30.05.2013, 14:13
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Если завтра будет не поздно - помогу. Но уточните.
...которые больше других в своем столбце
1. Вы имеете в виду максимум по столбцу?
2. А если такой ситации в данный момент не будет:
...слева от них находится элемент меньше а справа больше
(например, все елементы больше будут слева). Что тогда? Крутить создание массивов, пока не появится нужная ситуация, или просто сообщить, что такого нет, и конец?

Добавлено через 13 часов 36 минут
Такое впечатление, что Вы тоже не знаете ответы на мои вопросы.
Ладно, тогда так. В коде ниже будет все делаться, но если не будет ситуации "слева меньше - максимум столбца - справа больше", тогда программа сообщит, но не остановится. Будет создавать новые массивы на месте старых, пока не получим, что надо. Или по голове от препода.... И еще - проверка идет от первого столбца (там слева всегда пусто - значит всегда меньше) и до предпоследнего (в последнем справа тоже пусто - значит не может быть больше). Если Вам нужно только в пределах массива - тогда строку:
For i = 1 To .Columns.Count - 1
замените на:
For i = 2 To .Columns.Count - 1
Пробуйте. Удачи.
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
44
45
46
Sub ComparisonOfValues()
Dim i&, j&, sR&, sC&, rMATR&, cMATR&, counter&, mstr$
Dim mARR(), cC As Range, mRNG As Range
    sR = 4: sC = 3: rMATR = 10: cMATR = 7: Randomize
    Do
        With ActiveSheet
            .Cells.Delete
            Set mRNG = Range(.Cells(sR, sC), _
                    .Cells(sR - 1 + rMATR, sC - 1 + cMATR))
                For Each cC In mRNG
                    cC.Value = Int((100 * Rnd()) + 1)
                Next
        End With
        counter = 1
        ReDim mARR(1 To counter)
        mARR(1) = "Row" & " -- " & "COL." & " -- " & "N. L." & _
                                        " -- " & "MAX" & " -- " & "N. R."
        With mRNG
            For i = 1 To .Columns.Count - 1
                For Each cC In .Columns(i).Cells
                    If cC.Value = Application.Max(.Columns(i)) Then
                        If cC.Offset(0, -1).Value < cC.Value And _
                                    cC.Offset(0, 1).Value > cC.Value Then
                            cC.Interior.ColorIndex = 15: counter = counter + 1
                            ReDim Preserve mARR(1 To counter)
                            mARR(counter) = cC.Row & ";" & Space(10) & cC.Column & ";" & _
                                       Space(10) & cC.Offset(0, -1).Value & ";" & _
                                            Space(10) & cC.Value & ";" & Space(10) & cC.Offset(0, 1).Value
                        End If
                    End If
                Next
            Next 'i
        End With
        mstr = vbNullString
            If UBound(mARR) < 2 Then
                MsgBox Space(20) & "No MATCH!" & Chr(13) & Chr(13) & _
                        "WE WILL TRY WITH ANOTHER ARRAY."
                    Else
                        For i = LBound(mARR) To UBound(mARR)
                            mstr = mstr & mARR(i) & Chr(13)
                        Next 'i
                        MsgBox mstr
            End If
    Loop Until UBound(mARR) >= 2
    MsgBox Space(12) & "D O N E!"
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.05.2013, 14:13
Помогаю со студенческими работами здесь

Найти элементы матрицы, которые одновременно являются минимальными в своей строке и максимальными в своем столбце
В двумерном массиве размерностью n × m, все элементы которого различны, требуется найти такие элементы, которые одновременно являются...

Найти элементы матрицы, которые одновременно являются min в своей строке и max в своем столбце
Дан массив размера n × m, все элементы которого различны. Необходимо найти такие элементы, которые одновременно являются минимальными в...

Найти элемент матрицы, который больше всех в своей строке и меньше всех в своем столбце
Будьте добры, помогите ..) В заданной матрице (пользователь задает размер и сами элементы) найти элемент, который больше всех в своей...

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru