Информатика, вопрос задал Alenakiss , 8 лет назад

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

Ответы на вопрос

Ответил Аноним
0
Во вложении файл с рабочей книгой 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) > 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

Приложения:
Ответил Аноним
0
Максимальный элемент с голубой заливкой, подлежащие сдвигу и с сдвинутые - с желтой.
Ответил Alenakiss
0
Спасибо большое.Но я не умею походу объяснять людям,что мне в итоге надо.Надо было на форме это всё саздать.
Ответил Alenakiss
0
Создать,без таблицы
Ответил Alenakiss
0
но это уже все мои проблемы
Ответил Аноним
0
Это точно Ваши проблемы... третий раз я играть в эту же задачу не буду.
Новые вопросы