![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 13.06.2007
Сообщений: 2
|
![]()
Есть код, он рабочий к задаче коммивояжер по 5 городам. Коммивояжер стартуя из одного пункта должен пройти все 5 городов по одному разу вернуться обратно и затратить при этом наименьшее кол-во расстояния. Расстояния известны.
Ниже код. Вот только объясните что там за куча циклов??? ![]() ![]() ![]() ![]() Dim P(5) As Integer Dim N As Byte Dim A(5, 5) As Integer Dim max As Integer Dim Sum As Integer Dim R(5, 100) As Integer Private Sub CommandButton1_Click() Dim I, J As Integer N = 5 'define For I = 1 To 5 For J = 1 To 5 A(I, J) = Cells(1 + I, 1 + J) Next J Next I For I = 1 To 5 P(I) = I Next I For I = 1 To 100 For J = 1 To 10 'Write(R[J,I]:3); Cells(I + 10, J + 1) = "" ' WriteLn(Sum:5); Next J Next I max = 0 Sum = 10000 PerestArray (N) For I = 1 To max - 1 For J = 1 To N 'Write(R[J,I]:3); Cells(I + 10, J + 1) = R(J, I) ' WriteLn(Sum:5); Next J Cells(I + 10, 10) = Sum Next I 'a(1,1)= 'Range(2, 2).Text ' Range("b3").Text End Sub Sub PerestArray(M As Byte) Dim I As Byte Dim II, J As Byte Dim S As Integer Dim Temp As Byte If M = 1 Then S = 0 For II = 1 To N - 1 S = S + A(P(II), P(II + 1)) Next II S = S + A(P(N), P(1)) If S <= Sum Then For J = 1 To N R(J, max) = P(J) Next J Sum = S max = max + 1 End If Else For I = 1 To M PerestArray (M - 1) If I < M Then Temp = P(I) P(I) = P(M) P(M) = Temp Reverse (M - 1) End If Next I End If End Sub Sub Reverse(K As Byte) Dim J, I, Temp As Byte J = 1 While J < K Temp = P(J) P(J) = P(K) P(K) = Temp J = J + 1 K = K - 1 Wend End Sub Function Summ() As Integer Dim I As Byte Dim T As Integer T = 0 For I = 1 To N T = T + A(I, P(I)) Next I Summ = T End Function |
![]() |
![]() |
![]() |
#2 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
![]()
Вот, что смог разобрать: ну, а ваабще, книжку вам надо.
P.S.: есть удобная штука: Вложение файлов - (архивов например), не забывайте про нее!!! Вы издеваетесь.txt - это без архива!!!
Life is too short, play more...
Как правильно задавать вопросы Последний раз редактировалось Alex21; 09.07.2007 в 10:35. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 13.06.2007
Сообщений: 2
|
![]()
Все равно спасибо за помощь.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите исправить ошибку в задаче | Vladislav_87 | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 04.07.2008 12:27 |
Вопрос по задаче | file | Паскаль, Turbo Pascal, PascalABC.NET | 20 | 03.06.2008 17:37 |
Вопрос по задаче | Freeman12 | Помощь студентам | 5 | 26.05.2008 17:40 |
Помогите исправить ошибку в задаче | VANOLORD | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 19.05.2008 22:16 |