Четверг, 02.05.2024, 03:23
Приветствую Вас Гость | RSS
Главная | | Регистрация | Вход
Меню сайта
Наш опрос
Как вы относитесь к социальным сетям
Всего ответов: 24
Главная » 2010 » Май » 28 » Задачи по VBA
12:45
Задачи по VBA
Выложил то, что просила выполнить сестра=) Может кому пригодится=)

15. Задать массив С размером 6х4. Произвести в нем попарную перестановку нечетных и четных строк.
Sub Proc()
Dim a(6, 4) As Integer
Dim i As Integer, j As Integer
Dim b(1 To 6) As Integer
For i = 1 To 6 Step 2
For j = 1 To 4
b(j) = a(i, j)
a(i, j) = a((i + 1), j)
a((i + 1), j) = b(j)
Next j
Next i
End Sub

22.в компьютер вводятся последоват.вещественные числа в обычной форме, т,е. С фиксированной точкой. Всего 15 чисел.определить сколько из них имеют одинаковое количество нулей в целой и дробной части

Sub Proc()

Dim stroka(1 To 15) As String, k_c(1 To 15) As Byte, k_d(1 To 15) As Byte, k1 As Byte, k2 As Byte, i As Integer, j As Integer

Dim k1_max As Byte
Dim k2_max As Byte
Dim temp As Variant
For i = 1 To 15
stroka(i) = InputBox("Number?")
temp = Split(stroka(i), ".")
k1 = 0
k2 = 0
For j = 1 To Len(temp(0))
If Mid(temp(0), i, 1) = "0" Then
k1 = k1 + 1
End If
Next j
For j = 1 To Len(temp(1))
If Mid(temp(1), i, 1) = "0" Then
k2 = k2 + 1
End If
Next j
k_c(i) = k1
k_d(i) = k2
Next i
For i = 1 To 15
k1 = 0
k2 = 0
If k_c(i) = 0 Then
For j = 1 To 15
If k_c(i) = k_c(j) Then
k1 = k1 + 1
End If
If k_d(i) = k_d(j) Then
k2 = k2 + 1
End If
Next j
If k1_max < k1 Then
k1_max = k1
End If
If k2_max < k2 Then
k2_max = k2
End If
End If
Next i
MsgBox "Iaeaieuoaa eie-ai ioeae a oaeie ?anoe" & k1_max
MsgBox "Iaeaieuoaa eie-ai ioeae a a?iaiie ?anoe" & k2_max
End Sub

11. Вычислить значение U=(k1-k2)/(k1+k2),где k1-количество чисел,кратных 7 или кратных 3 из [22,199],k2-количество чисел,кратных 7 или 3 из [203,417]-это строковые данные

Function U(k1 As Integer, k2 As Integer)

U = (k1 - k2) / (k1 + k2)
End Function
Sub Proc11()
Dim i As Integer, k1 As Integer, k2 As Integer
For i = 22 To 199
If i Mod 7 = 0 Or i Mod 3 = 0 Then
k1 = k1 + 1
End If
Next
For i = 203 To 417
If i Mod 7 = 0 Or i Mod 3 = 0 Then
k2 = k2 + 1
End If
Next
MsgBox "U= " & U(k1, k2)
End Sub

Просмотров: 1245 | Добавил: pre77 | Рейтинг: 0.0/0
Всего комментариев: 1
1 UnsopyUncoozy  
0
очень интересно, спасибо

Имя *:
Email *:
Код *:
Форма входа
Поиск

Copyright Nikolay Zlotnikov aka Pre77 © 2024

Один из проектов, в которых я участвую