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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.01.2008, 11:46   #1
Айвенго
Пользователь
 
Регистрация: 18.12.2007
Сообщений: 59
По умолчанию Создать массив только из тех элементов, у которых остаток от деления на М равен L (0<=L<=M-1)

Надо реализовать программу на VBA которая решила бы данную задачу.
Дана последовательность натуральных чисел а1,а2,...,аn. Создать массив только из тех элементов, у которых остаток от деления на М равен L (0<=L<=M-1). Если таких элементов нет, то вывести сообщение.
Айвенго вне форума
Старый 12.01.2008, 13:33   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Примерно так:
Код:
Sub Delenie()

    Dim M As Long, L As Long, i As Long, j As Long
    Dim b() As Long, msg As String
    a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) 'пусть это данный массив
    M = 3 'пусть это делитель
    L = 2 'пусть это нужный нам остаток от деления
    
    ReDim b(UBound(a)): j = 0
    For i = 0 To UBound(a)
        If a(i) Mod M = L Then
            b(j) = a(i) 'формируем массив
            j = j + 1
        End If
    Next
    If j = 0 Then
        MsgBox "Искомые данные отсутствуют"
        Exit Sub
    End If
    ReDim Preserve b(j - 1) 'нормируем размерность массива
    
'Вывод результата (если нужно). Результат - массив b
    For i = 0 To UBound(b)
        msg = msg & b(i) & vbCrLf
    Next
    MsgBox msg

End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 12.01.2008, 16:28   #3
Айвенго
Пользователь
 
Регистрация: 18.12.2007
Сообщений: 59
По умолчанию

Большое спасибо!!!
Айвенго вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив структур с заранее неизвестным количеством элементов, С++ PersonaGrata Общие вопросы C/C++ 8 24.02.2008 16:34
массив с заранее неизвестным числом элементов Var17 Общие вопросы Delphi 4 29.12.2007 08:20
Генерировать массив без повтора значений элементов. На (С.) Raptor Помощь студентам 5 17.12.2007 14:42
предложения, все слова в которых образованны повторением одного символа, и сформировать из них массив kluwa Общие вопросы C/C++ 4 08.12.2007 15:17
[pascal]создать линейный список из элементов файла sunny19 Паскаль, Turbo Pascal, PascalABC.NET 1 25.06.2007 20:33