Кто хорошо помнить VBA помогите решить задание
Используя конструкцию Int(max-min+1)*Rnd+min) с генерировать массив n целочисленных элементов от 0 до n, где n число записное на пересечении второй строчки и первого столбца рабочего листа № 2. Вывести массив в столбец С на рабочий лист № 1 начиная со второй строки. Найти наименьший элемент и вывести в его в ячейку A1 и в сообщении.
Кто желает помочь писать на e-mail, за помочь будет вознаграждение.
Другие языки программирования и технологии
Нужна помощь с VBA
Option Base 1 'Массивы начинаются от единицы
Option Explicit 'Требовать явного объявления всех переменных
'Функция вычисления случайного числа
Function RandNumb(Min As Integer, max As Integer) As Integer
RandNumb = Int((max - Min + 1) * Rnd + Min)
End Function
'Функция вычисления минимума двух чисел
Function Min(a As Integer, b As Integer) As Integer
If (a < b) Then Min = a Else Min = b
End Function
Sub РешениеЗадачи ()
Dim n As Integer, i As Integer, MinElem As Integer
Dim ArrayInt() As Integer 'Объявляем динамический массив
n = Int(Sheets(2).Cells(2, 1)) 'Получаем количество элементов массива из ячейки на втором листе
ReDim ArrayInt(n) 'Устанавливаем размерность массива = n
Randomize 'Включаем датчик случайных чисел. Иначе массив будет каждый раз одинаковый при загрузке файла Excel
Sheets(1).Cells.ClearContents 'Очистить лист 1
'Генерируем массив
For i = 1 To n
ArrayInt(i) = RandNumb(0, n)
Next i
MinElem = ArrayInt(1) 'Устанавливаем начальное значение переменной MinElem
'Ищем минимальный элемент
For i = 2 To n
MinElem = Min(MinElem, ArrayInt(i))
Next i
'Выводим массив на лист 1
For i = 1 To n
Sheets(1).Cells(1 + i, 3) = ArrayInt(i)
Next i
Sheets(1).Cells(1, 1) = MinElem 'Выводим минимальный элемент в ячейку A1 на листе 1
MsgBox ("Минимум = " & MinElem) 'Выводим минимальный элемент в сообщении на экран
End Sub
Option Explicit 'Требовать явного объявления всех переменных
'Функция вычисления случайного числа
Function RandNumb(Min As Integer, max As Integer) As Integer
RandNumb = Int((max - Min + 1) * Rnd + Min)
End Function
'Функция вычисления минимума двух чисел
Function Min(a As Integer, b As Integer) As Integer
If (a < b) Then Min = a Else Min = b
End Function
Sub РешениеЗадачи ()
Dim n As Integer, i As Integer, MinElem As Integer
Dim ArrayInt() As Integer 'Объявляем динамический массив
n = Int(Sheets(2).Cells(2, 1)) 'Получаем количество элементов массива из ячейки на втором листе
ReDim ArrayInt(n) 'Устанавливаем размерность массива = n
Randomize 'Включаем датчик случайных чисел. Иначе массив будет каждый раз одинаковый при загрузке файла Excel
Sheets(1).Cells.ClearContents 'Очистить лист 1
'Генерируем массив
For i = 1 To n
ArrayInt(i) = RandNumb(0, n)
Next i
MinElem = ArrayInt(1) 'Устанавливаем начальное значение переменной MinElem
'Ищем минимальный элемент
For i = 2 To n
MinElem = Min(MinElem, ArrayInt(i))
Next i
'Выводим массив на лист 1
For i = 1 To n
Sheets(1).Cells(1 + i, 3) = ArrayInt(i)
Next i
Sheets(1).Cells(1, 1) = MinElem 'Выводим минимальный элемент в ячейку A1 на листе 1
MsgBox ("Минимум = " & MinElem) 'Выводим минимальный элемент в сообщении на экран
End Sub
Хотел записать алгоритм, но выше, собственно говоря, уже ответили :(
Заметил в Int(max-min+1)*Rnd+min) опечатку.
А VBA - это разновидность VisualBasic?
Заметил в Int(max-min+1)*Rnd+min) опечатку.
А VBA - это разновидность VisualBasic?
Похожие вопросы
- Прошу теоретической помощи с VBA! (не кодер)
- Нужна помощь по информатике.
- Нужна помощь с паскалем!
- Программисты,нужна помощь,пожалуйста Для вас легко
- Логика. Нужна помощь.
- Нужна помощь
- Информатика!Нужна помощь!если можно,с объяснением.
- Пожалуйста, очень нужна помощь с Pascal
- Люди! Нужна помощь. Помогите настроить Оперу
- Срочно нужна помощь WEB-программиста, который мог бы состряпать сайт