Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [VB6] Переставить первую и последнюю цифры числа


Автор: Vengeful 4.2.2010, 14:27
Дано натуральное число n.
Переставить последнюю и первую цифры числа n.
Использовать операторы выбора While или For желательно While=)

Автор: FINANSIST 8.2.2010, 10:44

Цитата(Vengeful @  4.2.2010,  14:27 Найти цитируемый пост)
желательно While=) 

в чем желательность while? 
ну да ладно? будет тебе и то и другое
Код

Option Explicit
Option Base 1
Sub test()
Dim n As Long: Dim x As Integer: Dim MyMass() As Long
Dim nstr As String: Dim nrezult As Long
'разбираем
Let n = 123456789
Let x = 0
While x < Len(CStr(n))
    Let x = x + 1
    ReDim Preserve MyMass(x)
    Let MyMass(x) = Mid(n, x, 1)
Wend
'собираем
For x = LBound(MyMass()) To UBound(MyMass()) Step 1
    If x = LBound(MyMass()) Then
    nstr = UBound(MyMass())
    GoTo 10:
    End If
    If x = UBound(MyMass()) Then
    nstr = nstr & LBound(MyMass())
    GoTo 10:
    End If
    nstr = nstr & MyMass(x)
10: Next x
MsgBox Val(nstr)
Erase MyMass
End Sub

Автор: Sanaff 8.2.2010, 19:06
А можно без циклов?
быстрее будет...
есть оператор Mod 10
найти первую и последнюю цифру им проще. ИМХО.

Автор: FINANSIST 12.2.2010, 11:53
Цитата(Sanaff @  8.2.2010,  19:06 Найти цитируемый пост)
есть оператор Mod 10


Цитата(Sanaff @  8.2.2010,  19:06 Найти цитируемый пост)
найти первую и последнюю цифру им проще. ИМХО. 


Как остаток от деления на 10 поможет поменять местами первую и последнюю цифру в числе неизвестной длинны?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)