ASProg
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Mirotvorec Если я правильно понял задание, то к № 1 код будет следующий: Dim i, n, c As Integer c = Val(Text1.Text) 'само число n = 0 'кол-во делителей For i = 2 To c If c Mod i = 0 Then n = n + 1 'если делится без остатка, то оно нам подходит Next i MsgBox (Str(n)) Добавлено: Mirotvorec Приведу код для № 2: Код: Dim a() As Integer Dim n, i As Integer n = Val(Text1.Text) ReDim a(n) Label1.Caption = "" 'будем выводить сюда исходный массив Label2.Caption = "" 'а сюда полученный массив For i = 0 To n a(i) = Int(Rnd * 100) Label1.Caption = Label1.Caption + Str(a(i)) + " " If a(i) Mod 2 <> 0 Then a(i) = a(i) * 2 'было нечетным - станет наоборот Label2.Caption = Label2.Caption + Str(a(i)) + " " Next i | Добавлено: Mirotvorec Ну чтож № 3: Код: Dim a() As Integer Dim n, i, j, x1, x2 As Integer n = Val(Text1.Text) x1 = Val(Text2.Text) 'начало отрезка x2 = Val(Text3.Text) 'конец отрезка ReDim a(n, n) For i = 0 To n For j = 0 To n a(i, j) = Int(Rnd * 100) If j > i Then 'выведем найденное число и выйдем из процедуры (я понял что нужно найти только 1 число) If a(i, j) >= x1 And a(i, j) <= x2 Then MsgBox (Str(a(i, j))) Exit Sub End If End If Next j Next i MsgBox ("Заданому отрезку не принадлежит ни одного числа") | Значения матрицы не распечатываю, т.к. давно не программирую на VB и уже забыл как перейти на другую строку Добавлено: Mirotvorec Решение для № 4 привести, к сожалению, не могу все по той же причине - давно не писал на VB, так что строковых операторов уже не помню Могу только посоветовать получать ASCII код символов оператором Asc("") и расставлять их по порядку |