Форум программистов, компьютерный форум CyberForum.ru

Волновой алгоритм для двумерной матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заменить заданный столбец матрицы а на вектор b http://www.cyberforum.ru/cpp-beginners/thread689157.html
Дана квадратная матрица a размерностью 5х5 и вектор b размерностью 5. Заменить заданный столбец матрицы a на вектор b. Номер столбца матрицы a вводить с клавиатуры. Матрицу и вектор инициализировать в программе.
C++ Характеристикой строки целочисленной матрицы назовем сумму её положительных четных элементов Характеристикой строки целочисленной матрицы назовем сумму её положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик. Вот начало: #include <iostream> int main() { http://www.cyberforum.ru/cpp-beginners/thread689148.html
C++ написать программу вычисляющую значение матричного выражения C=2(A+B)B
-ввод массивов организовать в функции main() -Сумму массивов, произведение массивов и умножение массива на число организовать в отдельных ф-циях -Печать массива С организовать в функции main() Помоите , пожалуста . Зарание огромное спасибо.
C++ Быстрая Сортировка quick-sort (ошибка в 40 строке) как исправить?
#include <iostream> #include <vector> using std::endl; using std::cout; using std::vector; template<class T> void print_vector( vector<T>& v); template<class T> void prepare_vector(vector<T>* v);
C++ Найти сумму элементов численного массива http://www.cyberforum.ru/cpp-beginners/thread689138.html
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; #include "stdafx.h" #include <iostream> #include <conio.h> int i; using namespace std;
C++ Вычислить Z = (S1 + S2)/ 2 Вычислить Z = (S1 + S2)/ 2; где S1 сумма положительных элементов массива X(9x6), а S2 - сумма отрицательных элементов массива А(60).Суммы вычислять в одной функции. Не могу понять в чём ошибка... #include <iostream> #include <fstream> #define SIZE_i 9 #define SIZE_j 6 #define SIZE_A 60 #define N 2 подробнее

Показать сообщение отдельно
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
05.11.2012, 17:07  [ТС]     Волновой алгоритм для двумерной матрицы
ValeryS, так и что мне в итоге подскажите делать?)

Добавлено через 19 секунд
ValeryS, спасибо(ответил просто не обновляя страницу)

Добавлено через 1 минуту
Как то давно писал волновой алгоритм:
Но мне кажется что это больно долго будет работать


C++
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
void waveAlgorithm(int fromNode, int toNode ){
int **fronts; 
int i, j, k, step;
int *alreadyMarked; 
bool find;
 
fronts = new int*[razmer]; 
for ( i = 0; i < razmer; i++ )
fronts[i] = new int[razmer];
 
way = new int[razmer];
alreadyMarked = new int[razmer];
 
for ( i = 0; i < razmer; i ++ )
for ( j = 0; j < razmer; j ++ ) 
fronts[i][j] = -1;
for ( i = 0; i < razmer; i ++ )
alreadyMarked[i] = 0;
for ( i = 0; i <= razmer; i ++ )
way[i] = -1;
 
fronts[0][0] = fromNode;
step = 0; find = false; 
 
while ( step < razmer && !find ){
i = 0;
k = 0;
if ( fronts[step][0] == -1 ) break;
 
while ( fronts[step][i] > -1 ) { 
for ( j = 0; j < razmer; j++ ) {
if ( matr[fronts[step][i]][j] > 0 && alreadyMarked[j] == 0 ) { 
alreadyMarked[j] = 1;
fronts[step+1][k] = j;
k++;
}
}
i++;
}
 
i = 0; 
while ( fronts[step + 1][i] > -1 ) {
if ( fronts[step + 1][i] == toNode ) { 
find = true;
break;
}
i++;
}
step++;
}
 
if ( find ) { 
way[step] = toNode;
for ( i = step-1; i >= 0; i-- ) {
for ( k = 0; k < razmer; k ++ ){
if ( matr[fronts[i][k]][way[i+1]] > 0 ) {
way[i] = fronts[i][k];
break;
}
}
}
}
cout«"put' ot "«fromNode+1«" do "«toNode+1«": ";
if ( way[0] == -1 ) 
cout « "ne sushestvuet";
else {
i = 0;
while ( way[i] != -1 && i <= razmer ){
if ( i != 0 ) cout « " -> ";
cout « way[i] + 1;
i++;
}
}
return;
}
 
Текущее время: 13:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru