Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- for (int i = 0; i < count_arcs; i++) {
- Arc arc( i, matrix[0][i], matrix[1][i] );
- if (arc.isLoop()) {//записываем петлю в матрицу последоватльной смежности
- vector<Arc> dual_arc;
- dual_arc.push_back(arc);
- dual_arc.push_back(arc);
- arc_coherent.push_back(dual_arc);
- }
- for (int j = 0; j < count_arcs; j++) {
- if (i == j) { // пропускаем повторяющийся столбец
- continue;
- }
- Arc arc_step(j, matrix[0][j], matrix[1][j]);
- bool is_next = matrix[1][j] == arc.getStart();
- if ( is_next ) {
- vector<Arc> dual_arc;
- if ( arc.getEnd() == arc_step.getStart() ) {//записываем в матрицу последоватльной смежности последовательно две дуги, предварительно упорядочивая их
- dual_arc.push_back(arc);
- dual_arc.push_back(arc_step);
- } else {
- dual_arc.push_back(arc_step);
- dual_arc.push_back(arc);
- }
- arc_coherent.push_back(dual_arc);
- }
- }
- for (int j = i + 1; j < count_arcs; j++) {
- bool is_parallel = ( matrix[0][j] == arc.getStart() ) || ( matrix[1][j] == arc.getEnd() );//условие параллельности 2 дуг
- if ( is_parallel ) {
- Arc arc_step(j, matrix[0][j], matrix[1][j]);
- vector<Arc> dual_arc;
- dual_arc.push_back(arc);
- dual_arc.push_back(arc_step);
- arc_parallel.push_back(dual_arc);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement