Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
senjava
1 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 4
1

Программа, которая заполняет массив по спирали

26.03.2012, 17:33. Просмотров 1498. Ответов 6
Метки нет (Все метки)

Visual Basic
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
Public Sub Spirale()
Dim n As Integer, m As Integer
n = Application.InputBox("X")
m = Application.InputBox("Y")
l = 1
i1 = 1
j1 = 1
Do While (i1 <= n) And (j1 <= m)
For j = j1 To m
Cells(i1, j) = l
l = l + 1
Next j
If i1 < n Then
For i = i1 + 1 To n
Cells(i, m) = l
l = l + 1
Next i
End If
If j1 < m Then
For j = m - 1 To j1 Step -1
Cells(n, j) = l
l = l + 1
Next j
End If
If n - i1 > 1 Then
For i = n - 1 To i1 + 1 Step -1
Cells(i, j1) = l
l = l + 1
Next i
End If
i1 = i1 + 1
j1 = j1 + 1
n = n - 1
m = m - 1
Loop
End Sub
я не понимаю, в чем тут проблема, но он последние цифры не записывает нормально.. помогите.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2012, 17:33
Ответы с готовыми решениями:

Создайте программу, которая по правому щелчку мыши заполняет массив
Создайте программу, которая по правому щелчку мыши заполняет массив А(10)...

какая команда заполняет массив 30 случайными цифрами
какая команда заполняет массив 30 случайных цифров

создать массив в виде спирали
создать массив виде спирали? в VB 6.0

Заполнить массив последовательными натуральными числами, идущими по спирали
привет всем не могу написать программу, помогите пожалуйста можно просто...

Разработайте программу, которая заполняет двумерный массив натуральными числами по спирали
Помогите с заданием по лабораторной работе пожалуйста. Разработайте...

6
SoftIce
es geht mir gut
10466 / 3978 / 1016
Регистрация: 27.07.2011
Сообщений: 9,648
Завершенные тесты: 1
26.03.2012, 21:01 2
Перевёл на VB6. Нормально работает
Visual Basic
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
Option Explicit
Public Sub Spirale()
Dim n As Integer, m As Integer, i, j1, i1, j, l, A(1 To 10, 1 To 10)
n = InputBox("X", , 10)
m = InputBox("Y", , 10)
l = 1
i1 = 1
j1 = 1
Do While (i1 <= n) And (j1 <= m)
For j = j1 To m
A(i1, j) = l
l = l + 1
Next j
If i1 < n Then
For i = i1 + 1 To n
A(i, m) = l
l = l + 1
Next i
End If
If j1 < m Then
For j = m - 1 To j1 Step -1
A(n, j) = l
l = l + 1
Next j
End If
If n - i1 > 1 Then
For i = n - 1 To i1 + 1 Step -1
A(i, j1) = l
l = l + 1
Next i
End If
i1 = i1 + 1
j1 = j1 + 1
n = n - 1
m = m - 1
Loop
Print
  For i = 1 To 10
   For j = 1 To 10
       Print A(i, j); vbTab;
   Next j
   Print
Next i
End Sub
Private Sub Command1_Click()
    Spirale
End Sub
0
senjava
1 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 4
26.03.2012, 21:03  [ТС] 3
спасибо огромное)))
0
Апострофф
Заблокирован
26.03.2012, 21:20 4
А хде здесь спираль?О_о
0
Миниатюры
Программа, которая заполняет массив по спирали  
senjava
1 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 4
26.03.2012, 21:44  [ТС] 5
вот она)
0
Миниатюры
Программа, которая заполняет массив по спирали  
SoftIce
es geht mir gut
10466 / 3978 / 1016
Регистрация: 27.07.2011
Сообщений: 9,648
Завершенные тесты: 1
26.03.2012, 22:41 6
Цитата Сообщение от Апострофф Посмотреть сообщение
А хде здесь спираль?
_________________
2
Миниатюры
Программа, которая заполняет массив по спирали  
Апострофф
Заблокирован
27.03.2012, 08:57 7
Лучший ответ Сообщение было отмечено как решение

Решение

Надо ж было так тупануть

Цитата Сообщение от senjava Посмотреть сообщение
но он последние цифры не записывает нормально.. помогите.
А проблема для не квадратного массива осталась.
Попробуйте
Visual Basic
1
2
n = 3 'Application.InputBox("X")
m = 5 'Application.InputBox("Y")
Рабочий, кажется, вариант -
Visual Basic
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
Option Explicit
 
Sub Spirale_m()
Dim I%, R%, C% 'счётчик и текущие координаты в массиве
Dim cR%, cC% 'к-во строк и столбцов массива
Dim dR%, dC% 'приращения по строкам и столбцам с учётом к-ва поворотов
Dim P% 'счётчик поворотов
 
cR = InputBox("Строк?") 'задаём размеры
cC = InputBox("Столбцов?") 'массива
R = 1: C = 1 'начальные координаты
dC = 1: dR = 0 'начальные приращения
Cells.ClearContents 'очистка поля
 
For I = 1 To cR * cC 'цикл по всем ячейкам массива
  Cells(R, C) = I
  If R + dR > cR Or R + dR < 1 Or C + dC > cC Or C + dC < 1 Then
    P = P + 1 'следующим ходом выпадаем из массива->поворачиваем
  ElseIf Cells(R + dR, C + dC) > 0 Then
    P = P + 1 'следующим ходом попадаем в занятую ячейку->поворачиваем
  End If
  dC = (2 - (P + 1) Mod 4) Mod 2 'пересчитываем приращения
  dR = (2 - P Mod 4) Mod 2 'с учётом к-ва поворотов
  C = C + dC 'новые
  R = R + dR 'координаты
Next I
End Sub
1
27.03.2012, 08:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2012, 08:57

Программа, которая заполняет массив a[1.10] случайными целыми числами
Cоставьте программу, которая заполняет массив a случайными целыми числами в...

Программа, которая заполняет динамический массив случ. числами в диапозоне от 0 до 100
Надо реализовать windowsform программу, которая заполняет динамический массив...

Строка посимвольно заполняет квадратный массив по скручивающейся спирали
Здравствуйте. Помогите пожалуйста неумехе. Плохо понимаю Pascal :( Задания:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru