SAS888
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Sub MaxAbsA() 'Даны действительные числа a1..an; n<=30 'Вычислить MAX(|a1|,..|an|); Dim n As Integer Dim a(1 To n) As Variant 'пусть дан массив из n элементов For i = 1 To n - 1 If Abs(a(i)) > Abs(a(i + 1)) Then MaxA = Abs(a(i)) Else MaxA = Abs(a(i + 1)) Next MsgBox "Max(|a1|,|a2|,...,|an|) = " & MaxA 'искомое значение End Sub Sub Massiv() 'Дан массив размером n, n<=20 'заменить элементы массива большие 7 на 7, вывести массив и кол-во замененных элементов Dim n As Integer, q As Integer Dim a(1 To n) As Variant 'пусть дан массив из n элементов Dim Msg As String For i = 1 To n If a(i) > 7 Then a(i) = 7 q = q + 1 End If Next 'вывод в окно сообщений For i = 1 To n Msg = Msg & "Элемент № " & i & Chr(61) & a(i) & vbCrLf Next Msg = Msg & "кол-во замененных элементов = " & q MsgBox Msg End Sub Sub Stroka() 'Дана строка. Заменить символ пробела на "?" (без кавычек) Dim MyString As String 'пусть дана строка MyString Dim MyConvert As String MyConvert = Application.WorksheetFunction.Substitute(MyString, " ", "?") 'Получим требуемую строку MyConvert 'ВНИМАНИЕ! Это будет работать только в Excel VBA End Sub Sub Pos() 'Выдать на печать позиции буквы "ю". Заменить все "ю" на "ь" Dim MyString As String 'пусть дана строка MyString Dim MyConvert As String, Msg As String MyString = Range("C5") Msg = "Позиции символа " & Chr(34) & "ю" & Chr(34) & vbCrLf For i = 1 To Len(MyString) If Right(Left(MyString, i), 1) = "ю" Then Msg = Msg & i & vbCrLf Next MyConvert = Application.WorksheetFunction.Substitute(MyString, "ю", "ь") Msg = Msg & MyConvert MsgBox Msg 'Получим требуемую строку MyConvert 'ВНИМАНИЕ! Это будет работать только в Excel VBA End Sub | Всего записей: 398 | Зарегистр. 31-10-2007 | Отправлено: 07:52 27-11-2007 | Исправлено: SAS888, 10:43 27-11-2007 |
|