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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2015, 09:25   #1
Range18
Новичок
Джуниор
 
Регистрация: 07.05.2015
Сообщений: 2
Печаль поиск макс. и мин.

Суть задания: создать массив из 10 элементов вывести его , найти мах. мин. поменять их местами и вывести в другой столбец.
Я написала такую программку, но как вывести новый массив я маленько не понимаю, может кто подскажет?)

Sub Макрос1()

Dim massiv(9) As Integer
Dim max As Integer, min As Integer, h As Integer

For i = 0 To 9
massiv(i) = Rnd * 100 - 50
Q = "A" & i + 1
Range([Q]) = massiv(i)
Next

max = 0
mix = 0

For i = 1 To 9
If massiv(i) > massiv(max) Then max = i
If massiv(i) < massiv(mim) Then min = i

h = massiv(max)
massiv(max) = massiv(min)
massiv(min) = h

Next
End Sub
Range18 вне форума Ответить с цитированием
Старый 07.05.2015, 11:09   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub Макрос1()
  Dim massiv(9) As Integer
  Dim max As Integer, min As Integer, h As Integer
  
  min = 0:  max = 0

  For i = 0 To 9
    massiv(i) = Rnd * 100 - 50
    Q = "A" & i + 1
    Range([Q]) = massiv(i)
    If massiv(i) > massiv(max) Then max = i
    If massiv(i) < massiv(min) Then min = i  
  Next

  h = massiv(max):  massiv(max) = massiv(min):  massiv(min) = h
  [b1].Resize(10, 1).Value = WorksheetFunction.Transpose(massiv)
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 07.05.2015 в 12:22.
IgorGO вне форума Ответить с цитированием
Старый 07.05.2015, 12:26   #3
Range18
Новичок
Джуниор
 
Регистрация: 07.05.2015
Сообщений: 2
По умолчанию

Ух ты , работает. Спасибо большое, не могли бы вы подробно объяснить как работает данная строчка )?
Range18 вне форума Ответить с цитированием
Старый 07.05.2015, 13:02   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

извините,
Вы думаете, если Вы смотрите в какую-то строку, то я могу угадать в какую именно?

хотя.... в данной ситуации не так и сложно угадать. допустим Вас смутила последняя строка макроса, не та, в которой
End Sub

в вот эта
[b1].Resize(10, 1).Value = WorksheetFunction.Transpose(massiv)
в двух словах тут написано:
положить в ячейки В1:В10 значения из "повернутого" массива massiv

Дело в том, что согласно Вашего обьявления элементы в массиве расположены так
0 1 2 3 4 5 6 7 8 9
а нужно в В1:В10
положить элементы такого массива
0
1
2
3
4
5
6
7
8
9
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.05.2015, 13:49   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

у Вас была одна существенная ошибка в макросе:
Вы меня ли местами максимальный и минимальный элементы внутри цикла поиска позиций максимального и минимального элементов.
т.е. смена мест проходила не между реально макс. и миним. элементами массива, а на каждом шаге цикла текущий миним. и макс. элементы менялись местами - это серьезная ошибка алгоритма.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск мин и макс в Delfi Morfi Помощь студентам 2 01.12.2013 17:44
макс. и мин. элемент массива Danil_59 Помощь студентам 2 26.12.2011 21:28
Мин и макс элеметы netiv Паскаль, Turbo Pascal, PascalABC.NET 3 26.10.2011 08:55
Нахождение Мин и Макс по условию bskjohn Microsoft Office Excel 1 04.06.2011 20:55
Поиск Мин/Макс значения а файле. leshij Паскаль, Turbo Pascal, PascalABC.NET 2 14.02.2011 22:29