Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2011, 17:06   #11
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Игорь, это все ерунда))) результаты-то хоть совпадают?
Roky на конкурс ничего не прислал? может кода немного или денег?

предлагаю определить победителей по номинациям САМЫЙ:
1. короткий код,
2. быстрый алгоритм,
3. оригинальный алгоритм.

Roky, пока количество премий только 3 - лучше обьявиться самому, добровольно. Когда судебные исполнители придут описывать имущество в пользу победителей конкурса - будет уже поздно.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.04.2011, 17:13   #12
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Результаты тютелька в тютельку
Самый оригинальный у меня. И букв больше всего тоже у меня
Но UDF тоже вон из ряда)))
Чтоб на скорость проверить - это опять нужно диапазон менять И наполнять его данными, что в лом...

Уже сложил всё в один файл, из дома разошлю.
А почему 3 премии? Вариантов уже 5 - Roky придётся пятерым платить... Или премии только призовым местам, а остальным грамоты будем выдавать?
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 28.04.2011 в 17:20.
Hugo121 вне форума Ответить с цитированием
Старый 28.04.2011, 17:54   #13
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Появился 6-ой конкурсант. Проверить пока не могу - не рассчитано на XL2000, но приз за оригинальность уже его.
Схожих с остальными кодами 2 строки:
Set rng = [a1].CurrentRegion
и
MsgBox "Максиминное значение " & a & vbCrLf & _
"строка " & r.Row & vbCrLf & _
"столбец " & r.Column
Описка видать по Фрейду , Николай?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 28.04.2011, 18:31   #14
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Set rng = [a1].CurrentRegion
и
MsgBox "Максиминное значение " & a & vbCrLf & _
"строка " & r.Row & vbCrLf & _
"столбец " & r.Column
Описка видать по Фрейду , Николай?
Почему? Максимальное из минимальных - это максиминное значение, также как минимаксное - нормальный термин,- ни Фрейда, ни даже Юнга.
Кстати, вместо rng лучше With [a1].CurrentRegion.
nilem вне форума Ответить с цитированием
Старый 28.04.2011, 20:27   #15
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Принято. Но в коде есть упущение - цифры могут быть неуникальные. Так при проверке и вышло - определяет верно, но находит первое попавшееся. Но с уникальными должно быть красиво!
Высылаю всё, что есть, всем, кто есть в моём почтовом клиенте
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 28.04.2011, 21:01   #16
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Самое интересное , что алгоритмы абсолютно разные
Я представляю лицо преподавателя, если студент принесет шесть различных алгоритмов
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 28.04.2011, 21:53   #17
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Я думаю.он не принесет ни одного.
Да направление мыслей у всех разное
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 29.04.2011, 10:03   #18
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Уже семь.
Я бы этому седьмому коду от MCH отдал все три приза даже без замера скорости.
Как оно работает, пока не понял
Покажу ядро - куда вставить и как получить результат пусть студент додумает сам:
Код:
    If a.Row > 1 And a.Column = 1 Then
        If a.Row = 2 Then Set r = r1 Else If r1 > r Then Set r = r1
    End If
    If a.Column = 1 Then Set r1 = a Else If r1 > a Then Set r1 = a
В общем, это весь код, остальное обвязка
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 29.04.2011, 14:15   #19
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

Игорь, собственно алгоритм аналогичен тому, который приведен в UDF
толко вместо циклов:
for i=1 to n: for j=1 to m
используется цикл for each a in ...
и соответственно a.row, a.column вместо i, j

Всю остальную обвязку украл из поста, когда ты приводил выдержки из решения Николая
MCH вне форума Ответить с цитированием
Старый 29.04.2011, 16:05   #20
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

Цитата:
Я бы этому седьмому коду от MCH отдал все три приза даже без замера скорости
Игорь, рано раздавать призы, нашел в своем коде досадную ошибку, не обрабатывала последнюю строчку должным образом
тело можно записать так:
Код:
    If a.Column = 1 Then Set r1 = a Else If r1 > a Then Set r1 = a
    If a.Column = rng.Columns.Count Then
        If a.Row = 1 Then Set r = r1 Else If r1 > r Then Set r = r1
    End If
дополнительно объявив rng.
Исправления (2 варианта) отправил на почту.
Кроме того макрос будет работать только если данные находятся в А1 и ниже/правее, как это обойти пока не знаю, т.к. не силен в VBA
MCH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TurboPascal: графы, матрицы смежности и матрицы инцидентности. ulala Помощь студентам 1 03.03.2011 19:28
Ф-ия, определяющая сумму строк матрицы, если на главной диагонали матрицы имеется отрицательный эл-т. Volk_xD Помощь студентам 6 05.01.2011 13:39
Матрицы:функция изменения порядка столбцов матрицы Fajyz Помощь студентам 0 13.01.2010 09:40
На главную диагональ матрицы поместить наибольшие элементы этой матрицы mivel Помощь студентам 2 23.12.2009 21:19