PDA

Показать полную графическую версию : задача. инфа. массив одномерный.


Triz
15-05-2009, 20:25
задали задачу, но проблема возникла.
сама задача такова что массив состоит из 40 случайных двузначных чисел, вывести их нужно на форму в обратном порядке, по 6 чисел в строке.

Private Sub Command1_Click()

Dim t(1 To 40) As Integer
A(t) = Rnd

For t = 40 To 1 Step -1

If t Mod 6 = 0 Then Print
Print A(t)
Else: Print A(t)


End Sub



вот мой код, немогу найти ошибку как никак, и по мне имеется ошибка с обьявлением переменной.

lxa85
16-05-2009, 00:12
If t Mod 6 = 0 Then Print
Print A(t)
Else: Print A(t) »
Двойной принт - это правильно?Dim t(1 To 40) As Integer
A(t) = Rnd »
И массив помему неверно объявлен. В QBasic программировал давно, но помоему должно выглядеть так:
Dim A(40) as Integer

A(t) = Rnd »
Может можно одной строкой обойтись, может нет, трассировщик вам в помощь.
Цикл For должен закрываться конструктивой Next. (Если речь о VB)
немогу найти ошибку как никак »
Трассировщик, трассировщик и еще раз трассировщик. И все будет отлично :)

Triz
16-05-2009, 05:01
Двойной принт - это правильно? »
таким образом я хотел сделать так чтобы он вывел пустую строку.

pva
18-05-2009, 06:58
1. else и двоеточие после else - так по синтаксису надо? ещё нехватает next t
2. 40 на 6 не делится, поэтому после последней строки перевода выведено не будет
3. при любом значении t выполняется Print A(t), зачем тогда загонять его в if?

If t Mod 6 = 0 Then Print
EndIf
Print A(t)

4. мне кажется через двойной цикл было бы правильней сделать

for t=0 to 40 step 6
for i=t to min(40, t+6)
Print A(i)
next i
Print
next t




© OSzone.net 2001-2012