Премини към съдържанието

Stanchopansa

Потребител
  • Публикации

    5
  • Регистрация

  • Последно онлайн

Харесвания

0 Неутрална репутация

Всичко за Stanchopansa

  • Титла
    Новобранец
  • Рожден ден 1.07.1990

Информация

  • Пол
    Мъж
  1. Здравейте! Правих едни макроси на VBA в word, но картинките за бутоните, които ми предгат в Office пакета са прекалено малко не ми вършат работа. Търсих отговора в нета и във форума, но не го намерих. Въпросът ми е как да добавя нови картинки за икони при тези на снимката в Microsoft Office 2010. Благодаря предварително.
  2. Разбрах къде е проблема и го оправих.
  3. Направих си сам тази част, която намира най-краткия път от точка до точка. Сега обаче стигнах до друг проблем. Гледам на клипчетата в интернет след като провлачат таблицата с готовите полета им излизат готови бутони а на мен не ми излизат. Ако някой се е сблъсквал с този проблем да пише как да го е решил. В интернет намирам само как се правят един по един. Струва ми се безмислено да се правят един по един при положение, че може да се с едно приплъзване да се създадат всички. Благодаря предварително.
  4. Златен си бате. Изчезнаха грешките освен една. Поне така го казва, че извършва безкраен цикъл (рекурсия). Защо така не мога да разбера понеже във C++ работи. И има някакъв конфликт с единия масив parent(). Ако и това кажеш как да го оправя направи си върха.
  5. Здравейте. Имам да правя една задача за намиране на най-кратък път от една точка до друга като могат да се слагат препядствия, които трябва да се заобикалят. Намерих на C++ един алгоритъм на Дейкстра и се опитах да го напиша на Visual Basic, но дава някаква грешка, която не мога да разбера. Това е на C++ алгоритъма на Дейкстра (функцията): void Dijkstra(int node) { int min_dist, i; for(i = 1; i <= V; i++) { if(ARRR == i) { dist = MAX_VALUE; visited = 0; } } dist[node] = 0; for(;;) { min_dist = MAX_VALUE; for(i = 1; i <= V; i++) if(ARRR == i) { if(dist < min_dist && !visited) { node = i; min_dist = dist; } } if(min_dist == MAX_VALUE) return; visited[node] = true; for(i = 1; i <= V; i++) if(ARRR == i) if(a[node] && (dist > dist[node] + a[node])) { dist = dist[node] + a[node]; parent = node; } } } А това е функцията за извеждане на пътя: void printWay(int node) { if(parent[node] != from) { printWay(parent[node]); cout << parent[node] << " "; Put[h] = parent[node]; h++; } } Аз с моите познания написах това на Visual Basic: ' algoritym na dijkstra Public Function dijkstra(ByVal node As Integer) As Integer Dim i As Integer For i = 1 To V = 100 Step 1 If ARRR(i) = i Then dist(i) = MAX_VALUE visited(i) = 0 End If Next dist(node) = 0 Do min_dist = MAX_VALUE For i = 1 To V = 100 Step 1 If ARRR(i) = i Then If dist(i) < min_dist And Not visited(i) Then node = i min_dist = dist(i) End If End If Next If min_dist = MAX_VALUE Then Return End If visited(node) = True For i = 1 To V = 100 Step 1 If ARRR(i) = i Then If rebra(node, i) And dist(i) > dist(node) + rebra(node, i) Then dist(i) = dist(node) + rebra(node, i) parent(i) = node End If End If Next Loop While True End Function ' funkciq s koqto she izvejdam pytq Public Function printWay(ByVal node As Integer) If parent(node) <> fromm Then printWay(parent(node)) ButtonsAll(node).BackColor = Color.Black Put(broqch) = parent(node) broqch = broqch + 1 End If End Function Направих карта от бутони, които при натискате излиза един Inputbox, от който избирам какво да въведа ( препядствие, път или стока). Целта е да примерно да тръгна от 1 до 35 като заобикалям зелените и червените квадратчета. Въвел съм и стойностите на ребрата. Само тези 2 функции ми правят проблеми. Гледам да го напиша кода възможно най-просто понеже нямам големи познания затова не ползвам много функции. Ще се радвам ако някой помогне. Благодаря предварително. kod na programata .txt
  • Разглеждащи това в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

×
×
  • Добави ново...