Регистрация
Войти
Стать экспертом Правила
Информатика

В массиве из 8 целых чисел переставить максимальный элемент на первое место, а элементы с первого до максимального сдвинуть на одну позицию вправо.
Написать программу для VBA MS Excel.
Данные могут генерироваться случайным образом,главное,чтобы это было 8 целых чисел.
Вывод осуществляется в строке (label),либо как сделаете

ОТВЕТЫ
Во вложении файл с рабочей книгой MS Excel 2003

Sub abcd()
    Dim n As Integer, a(1 To 8) As Integer
    Dim r As Range
    n = 8
    imax = 1
    Set r = Range(Cells(1, 1), Cells(2, 8))
    r.ClearContents Очистка области
    r.Interior.Color = RGB(255, 255, 255) Очистка цвета заливки
    For i = 1 To n
        a(i) = Int(30 * Rnd)
        If a(i) gt; a(imax) Then imax = i
        Cells(1, i) = a(i)
    Next
    t = a(imax)
    Cells(1, imax).Interior.Color = RGB(204, 255, 255)
    Range(Cells(1, 1), Cells(1, imax - 1)).Interior.Color = RGB(255, 255, 153)
    For i = imax - 1 To 1 Step -1
        a(i + 1) = a(i)
    Next
    a(1) = t
    For i = 1 To n
        Cells(2, i) = a(i)
    Next
    Cells(2, 1).Interior.Color = RGB(204, 255, 255)
    Range(Cells(2, 2), Cells(2, imax)).Interior.Color = RGB(255, 255, 153)
End Sub

134
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам