Помогите решить задачки

Программирование на Visual Basic for Applications
spar
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 30.03.2007 (Пт) 19:11

Помогите решить задачки

Сообщение spar » 30.03.2007 (Пт) 19:12

1)определить среднее значение поля даты для записей, отобранных по символьному полю. Создать процедуру по обработке записей
2)создатть процедуру, перемещающую последнюю введенную запись на место первой записи. Дан одномерный массив. определить, есть в нем хотя бы пара одинаковых соседних чисел.
3)создатть процедуру, перемещающую последнюю введенную запись на место первой записи. С символьном выражении (слове) имеются только две одинакооые буквы. Найти и вывести их

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 30.03.2007 (Пт) 20:08

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

spar
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 30.03.2007 (Пт) 19:11

Сообщение spar » 31.03.2007 (Сб) 9:03

Код: Выделить всё
Sub задание()
Dim Mas() As Byte
N = InputBox("Сколько элементов будет в массиве ?")
ReDim Mas(1 To N)
Dim i As Byte
Cells.ClearContents
For i = 1 To N
Mas(i) = InputBox("Введите значение для очередного элемента массива", _
"Заполнение1 массива")
ActiveCell.Cells(i, 1).Value = Mas(i)
Next i
If Mas(i) = Mas(i + 1) Then
MsgBox "ЕСТЬ"
Else
MsgBox "Нету"
End If
End Sub

это вторая задачка. Скажите пожадуйста, что тут не так

Pavel55
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 27.10.2006 (Пт) 20:11

Сообщение Pavel55 » 31.03.2007 (Сб) 11:08

Я в этом плохо разбираюсь, но может так

Код: Выделить всё
Sub Задание()
Dim Mas() As Byte
Dim i As Byte, N As Byte, M As Byte
    N = InputBox("Сколько элементов будет в массиве?")
    ReDim Mas(1 To N)
    Cells.ClearContents
    For i = 1 To N
        Mas(i) = InputBox("Введите значение для " & i & "-го элемента массива", "Заполнение1 массива")
        ActiveCell.Cells(i, 1).Value = Mas(i)
    Next i
    For i = LBound(Mas) To UBound(Mas) - 1
        If Mas(i) = Mas(i + 1) Then
            M = M + 1
        End If
    Next i
    If M >= 1 Then
        MsgBox "Массив содержит хотя бы пару одинаковые соседних чисел!", , "Ответ"
    Else
        MsgBox "Массив НЕ содержит хотя бы пару одинаковые соседних чисел!", , "Ответ"
    End If
End Sub


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 90

    TopList