Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   задача. инфа. массив одномерный. (http://forum.oszone.net/showthread.php?t=140246)

Triz 15-05-2009 20:25 1119547

задача. инфа. массив одномерный.
 
задали задачу, но проблема возникла.
сама задача такова что массив состоит из 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 1119703

Цитата:

Цитата Triz
If t Mod 6 = 0 Then Print
Print A(t)
Else: Print A(t) »

Двойной принт - это правильно?
Цитата:

Цитата Triz
Dim t(1 To 40) As Integer
A(t) = Rnd »

И массив помему неверно объявлен. В QBasic программировал давно, но помоему должно выглядеть так:
Dim A(40) as Integer

Цитата:

Цитата Triz
A(t) = Rnd »

Может можно одной строкой обойтись, может нет, трассировщик вам в помощь.
Цикл For должен закрываться конструктивой Next. (Если речь о VB)
Цитата:

Цитата Triz
немогу найти ошибку как никак »

Трассировщик, трассировщик и еще раз трассировщик. И все будет отлично :)

Triz 16-05-2009 05:01 1119787

Цитата:

Цитата lxa85
Двойной принт - это правильно? »

таким образом я хотел сделать так чтобы он вывел пустую строку.

pva 18-05-2009 06:58 1121111

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



Время: 12:41.

Время: 12:41.
© OSzone.net 2001-