Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / for f(0) to ..... for f(1)... for f(2)... ....... for f(15) не работает как в TurboBasic / 8 сообщений из 8, страница 1 из 1
22.12.2013, 02:10
    #38509067
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
for f(0) to ..... for f(1)... for f(2)... ....... for f(15) не работает как в TurboBasic
Смотрел док.фильм. Хотел проверить факты о 2 в квадрате.
YouTube Video
...
Рейтинг: 0 / 0
22.12.2013, 11:39
    #38509150
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
for f(0) to ..... for f(1)... for f(2)... ....... for f(15) не работает как в TurboBasic
Вообще-то, в справке прямо написано - "счетчик цикла не может быть логической переменной или элементом массива". Особенности реализации...
Впрочем, один из элементов массива можно использовать в качестве счётчика - но не более.
Могу посоветовать в качестве счетчика F(i) использовать просто битовое представление (16*4-bit=64-bit), например, в Double или более длинном типе.
...
Рейтинг: 0 / 0
22.12.2013, 13:08
    #38509189
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
for f(0) to ..... for f(1)... for f(2)... ....... for f(15) не работает как в TurboBasic
Dim f0 As Byte
Dim f1 As Byte

Set f0 = F(0)
Set f1 = F(1)

даже так отказывается.

Создать класс и в классе логику создать что-ли ?
...
Рейтинг: 0 / 0
22.12.2013, 14:51
    #38509243
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
for f(0) to ..... for f(1)... for f(2)... ....... for f(15) не работает как в TurboBasic
Андрей159,

Код: 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.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
'Option Explicit
Dim f(0 To 16) As Long
Dim txt(0 To 16)
Dim kv As Byte


Private Sub Command1_Click()
f(5) = 5
f(6) = 6
f(7) = 5

For f(0) = 1 To 16
j1 = f(1)
For j1 = 1 To 16
If Not (Zaboroniti(1)) Then
j2 = f(2)
For j2 = 1 To 16
If Not (Zaboroniti(2)) Then

j3 = f(3)
For j3 = 1 To 16
If Not (Zaboroniti(3)) Then
j4 = f(4)
For j4 = 1 To 16
If Not (Zaboroniti(4)) Then
j5 = f(5)
For j5 = 1 To 16
If Not (Zaboroniti(5)) Then

j6 = f(6)
For j6 = 1 To 16
If Not (Zaboroniti(6)) Then
j7 = f(7)
For j7 = 1 To 16
If Not (Zaboroniti(7)) Then
j8 = f(8)
For j8 = 1 To 16
If Not (Zaboroniti(8)) Then
j9 = f(9)
For j9 = 1 To 16
If Not (Zaboroniti(9)) Then
j10 = f(10)
For j10 = 1 To 16
If Not (Zaboroniti(10)) Then

j11 = f(11)
For j11 = 1 To 16
If Not (Zaboroniti(11)) Then
j12 = f(12)
For j12 = 1 To 16
If Not (Zaboroniti(12)) Then
j13 = f(13)
For j13 = 1 To 16
If Not (Zaboroniti(13)) Then
j14 = f(14)
For j14 = 1 To 16
If Not (Zaboroniti(14)) Then
j15 = f(15)
For j15 = 1 To 16
If Not (Zaboroniti(15)) Then




For kv = 0 To 15
txt(kv) = f(kv)
Debug.Print "txt=", kv, txt(kv)
Next
Stop

End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
Next
End Sub

Private Function Zaboroniti(st As Byte) As Boolean
Dim etap As Byte
For etap = 0 To st - 1
If f(st) = f(etap) Then
Zaboroniti = True
'Debug.Print st, etap, f(st), f(etab)
 Exit Function
End If
Next
End Function

...
Рейтинг: 0 / 0
22.12.2013, 15:02
    #38509248
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
for f(0) to ..... for f(1)... for f(2)... ....... for f(15) не работает как в TurboBasic
ПЕНСИОНЕРКААндрей159,

Код: 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.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
'Option Explicit
Dim f(0 To 16) As Long
Dim txt(0 To 16)
Dim kv As Byte


Private Sub Command1_Click()
f(5) = 5
f(6) = 6
f(7) = 5

For f(0) = 1 To 16
j1 = f(1)
For j1 = 1 To 16
If Not (Zaboroniti(1)) Then
j2 = f(2)
For j2 = 1 To 16
If Not (Zaboroniti(2)) Then

j3 = f(3)
For j3 = 1 To 16
If Not (Zaboroniti(3)) Then
j4 = f(4)
For j4 = 1 To 16
If Not (Zaboroniti(4)) Then
j5 = f(5)
For j5 = 1 To 16
If Not (Zaboroniti(5)) Then

j6 = f(6)
For j6 = 1 To 16
If Not (Zaboroniti(6)) Then
j7 = f(7)
For j7 = 1 To 16
If Not (Zaboroniti(7)) Then
j8 = f(8)
For j8 = 1 To 16
If Not (Zaboroniti(8)) Then
j9 = f(9)
For j9 = 1 To 16
If Not (Zaboroniti(9)) Then
j10 = f(10)
For j10 = 1 To 16
If Not (Zaboroniti(10)) Then

j11 = f(11)
For j11 = 1 To 16
If Not (Zaboroniti(11)) Then
j12 = f(12)
For j12 = 1 To 16
If Not (Zaboroniti(12)) Then
j13 = f(13)
For j13 = 1 To 16
If Not (Zaboroniti(13)) Then
j14 = f(14)
For j14 = 1 To 16
If Not (Zaboroniti(14)) Then
j15 = f(15)
For j15 = 1 To 16
If Not (Zaboroniti(15)) Then




For kv = 0 To 15
txt(kv) = f(kv)
Debug.Print "txt=", kv, txt(kv)
Next
Stop

End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
End If
Next
Next
End Sub

Private Function Zaboroniti(st As Byte) As Boolean
Dim etap As Byte
For etap = 0 To st - 1
If f(st) = f(etap) Then
Zaboroniti = True
'Debug.Print st, etap, f(st), f(etab)
 Exit Function
End If
Next
End Function



Бредово((

Private Function Zaboroniti(st As Byte) As Boolean
If f(st) = f(etap) Then
...
Рейтинг: 0 / 0
22.12.2013, 15:03
    #38509250
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
for f(0) to ..... for f(1)... for f(2)... ....... for f(15) не работает как в TurboBasic
Решите задачу Серла. Сколько и какие варианты могут быть чтобы сумы были ровные ?
...
Рейтинг: 0 / 0
27.12.2013, 12:57
    #38514142
у-ль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
for f(0) to ..... for f(1)... for f(2)... ....... for f(15) не работает как в TurboBasic
Андрей159,

один школьник написал вот это:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
 Dim F0 As Byte
 Dim F1 As Byte
 ...

  For F0 = 1 To 16: F(0) = F0
   For F1 = 1 To 16: F(1) = F1
   ...
   Next F1
  Next F0

Другой школьник написал это:
Код: 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.
Public Function Comb(ByVal n As Long, ByVal k As Long) As Long
 'n - количество разрядов в "числе" (длина комбинации).
 'k - основание системы счисления. Разряды имеют значения [1..k].
 'Возврат: k^n (количество комбинаций).
 Dim i() As Long
 ReDim i(1 To n) As Long 'Индексы
 Dim j As Long           'Счётчик по пустякам
 Dim m As Long           'Номер изменяемого индекса
 Dim s As String         'Комбинация в строковом виде
 Dim l As Long           'Счётчик комбинаций
 
 'Инициализация индексов
 For j = 1 To n
    i(j) = 1
 Next j
 
 Do
    l = l + 1
    'Печать комбинации
    s = i(1)
    For j = 2 To n
       s = s & "," & i(j)
    Next j
    Debug.Print s
    
    m = n
    If i(m) = k Then
       Do
          i(m) = 1
          m = m - 1
          If m = 0 Then
             Comb = l
             Exit Function
          End If
       Loop Until i(m) < k
    End If
    i(m) = i(m) + 1
 Loop
End Function

Вопрос: почему второй школьник получит более высокую оценку?
...
Рейтинг: 0 / 0
27.12.2013, 15:36
    #38514362
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
for f(0) to ..... for f(1)... for f(2)... ....... for f(15) не работает как в TurboBasic
ПЕНСИОНЕРКА и Андрей159 ,
есть такой чудесный тег - spoiler :)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / for f(0) to ..... for f(1)... for f(2)... ....... for f(15) не работает как в TurboBasic / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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