Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / помогите пожалуийста на эту задачу!! / 8 сообщений из 8, страница 1 из 1
27.05.2013, 17:39
    #38275275
druce
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуийста на эту задачу!!
Составить программу, реализующую алгоритм, преобразующий произвольное положительное число, записанное в арабских цифрах, в систему римских цифр и наоборот.
...
Рейтинг: 0 / 0
27.05.2013, 18:02
    #38275323
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуийста на эту задачу!!
...
Рейтинг: 0 / 0
27.05.2013, 20:02
    #38275442
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуийста на эту задачу!!
Если VB - это VBA и Excel, то в Экзеле есть даже стандартные формулы листа - РИМСКОЕ() и АРАБСКОЕ(). Последняя, правда, появилась только в 2013-м
...
Рейтинг: 0 / 0
27.05.2013, 21:22
    #38275518
Volodbka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуийста на эту задачу!!
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
Function VRymNumb$(VNumb%)

Dim Numb%
Dim RymNumb$
Dim i%

RymNumb$ = ""
Numb% = VNumb%

For i% = 1 To 20
If 1000 <= Numb% And Numb% <= 4000 Then
RymNumb$ = RymNumb$ & "M"
Numb% = Numb% - 1000
End If

If 4001 <= Numb% And Numb% < 5000 Then
RymNumb$ = RymNumb$ & "MC"
Numb% = Numb% - 4000
End If


If 500 <= Numb% And Numb% <= 900 Then
RymNumb$ = RymNumb$ & "D"
Numb% = Numb% - 500
End If

If 901 <= Numb% And Numb% < 1000 Then
RymNumb$ = RymNumb$ & "DC"
Numb% = Numb% - 400
End If



If 100 <= Numb% And Numb% <= 400 Then
RymNumb$ = RymNumb$ & "C"
Numb% = Numb% - 100
End If

If 401 <= Numb% And Numb% < 500 Then
RymNumb$ = RymNumb$ & "CL"
Numb% = Numb% - 400
End If

If 50 <= Numb% And Numb% <= 90 Then
RymNumb$ = RymNumb$ & "L"
Numb% = Numb% - 50
End If

If 41 <= Numb% And Numb% < 50 Then
RymNumb$ = RymNumb$ & "LX"
Numb% = Numb% - 40
End If

If 10 <= Numb% And Numb% <= 40 Then
RymNumb$ = RymNumb$ & "X"
Numb% = Numb% - 10
End If



If 5 <= Numb% And Numb% < 9 Then
RymNumb$ = RymNumb$ & "V"
Numb% = Numb% - 5
End If

If Numb% = 9 Then
RymNumb$ = RymNumb$ & "IX"
Numb% = Numb% - 9
End If

If 1 <= Numb% And Numb% < 4 Then
RymNumb$ = RymNumb$ & "I"
Numb% = Numb% - 1
End If

If Numb% = 4 Then
RymNumb$ = RymNumb$ & "IV"
Numb% = Numb% - 4
End If



Next i%

VRymNumb$ = RymNumb$
End Function



Это код содержит ошибки
...
Рейтинг: 0 / 0
27.05.2013, 21:28
    #38275525
Клевер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуийста на эту задачу!!
в цикле пока число >=1000:
если число больше 1000 то
пишем М
вычитаем из числа 1000

если число больше 900 то
пишем СМ
вычитаем 900

если число больеш 500 то
пишем D
вычитаем 500

если число больше 400 то
пишем СМ
вычитаем 400

в цикле пока число >=100(или просто вставляешь 3 раза подряд):
если число больше 100 то
пишем С
вычитаем 100

если число больше 50 то
пишем L
вычитаем 50

если число больше 40 то
пишем ХL
вычитаем 40

в цикле пока число >=10:
если число больше 10 то
пишем Х
вычитаем 10

если число больше 5 то
пишем V
вычитаем 5

если число больше 4 то
пишем IV
вычитаем 4

если число

в цикле пока число >=1:
если число больше 10 то
пишем I
вычитаем 1
...
Рейтинг: 0 / 0
27.05.2013, 21:36
    #38275533
Клевер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуийста на эту задачу!!
Volodbka,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
If 500 <= Numb% And Numb% <= 900 Then
RymNumb$ = RymNumb$ & "D"
Numb% = Numb% - 500
End If

If 901 <= Numb% And Numb% < 1000 Then
RymNumb$ = RymNumb$ & "DC"
Numb% = Numb% - 400
End If



поменяй циклы местами. кроме того в коде множество неправильных преобразований римских чисел. юзай мой код. там тоже есть ошибки, но их меньше)
...
Рейтинг: 0 / 0
27.05.2013, 21:57
    #38275548
Volodbka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуийста на эту задачу!!
http://www.sql.ru/forum/1025513/pomogite-pozhaluiysta-ne-znau-kak-reshit-etu-zadachu?hl=
что-то такое надо делать, я не буду, мне не надо
...
Рейтинг: 0 / 0
27.05.2013, 23:24
    #38275603
Volodbka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите пожалуийста на эту задачу!!
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
Function VRymNumb$(VNumb%)

Dim Numb%
Dim RymNumb$
Dim i%

RymNumb$ = ""
Numb% = VNumb%

For i% = 1 To 20


If Numb% = 1000 Then
RymNumb$ = RymNumb$ & "M"
Numb% = Numb% - 1000
End If


If 900 <= Numb% And Numb% < 1000 Then
RymNumb$ = RymNumb$ & "CM"
Numb% = Numb% - 900
End If
If 500 <= Numb% And Numb% <= 900 Then
RymNumb$ = RymNumb$ & "D"
Numb% = Numb% - 500
End If


If 400 <= Numb% And Numb% < 500 Then
RymNumb$ = RymNumb$ & "CD"
Numb% = Numb% - 400
End If
If 100 <= Numb% And Numb% <= 400 Then
RymNumb$ = RymNumb$ & "C"
Numb% = Numb% - 100
End If


If 90 <= Numb% And Numb% < 100 Then
RymNumb$ = RymNumb$ & "XC"
Numb% = Numb% - 90
End If
If 50 <= Numb% And Numb% <= 90 Then
RymNumb$ = RymNumb$ & "L"
Numb% = Numb% - 50
End If


If 40 <= Numb% And Numb% < 50 Then
RymNumb$ = RymNumb$ & "XL"
Numb% = Numb% - 40
End If

If 10 <= Numb% And Numb% < 40 Then
RymNumb$ = RymNumb$ & "X"
Numb% = Numb% - 10
End If

If Numb% = 9 Then
RymNumb$ = RymNumb$ & "IX"
Numb% = Numb% - 9
End If



If 5 <= Numb% And Numb% < 9 Then
RymNumb$ = RymNumb$ & "V"
Numb% = Numb% - 5
End If
If Numb% = 4 Then
RymNumb$ = RymNumb$ & "IV"
Numb% = Numb% - 4
End If



If 1 <= Numb% And Numb% < 4 Then
RymNumb$ = RymNumb$ & "I"
Numb% = Numb% - 1
End If

Next i%

VRymNumb$ = RymNumb$
End Function



если выборка найденная в инете - верна, то вот это работает
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / помогите пожалуийста на эту задачу!! / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]