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

Граф.Найти все мосты - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не могу изпользовать свой стек в мейне(( http://www.cyberforum.ru/cpp-beginners/thread284107.html
ето просто ппц. сложность в том чтоя токо типа научилсо использовать неймспейсы! и тутси взял и написал стек при помощи класа. всё будто правильно ща токо перегруженую операцыю = дорисую и всё!!! но тут запара я даж не могу вызвать в мэйне пуш или поп!!!!! плж посмотрите и укажыте на ошыбки))) а и если не трудно обясните что ето значит - <тип> operator (int i) и что в даном случае оно должно...
C++ Структура "Успеваемость студента": модифицировать, используя битовые поля Доброго времени суток! Есть прога, которая, используя структуру, отображает успеваемость каждого студента. Хотелось бы ее модифицировать, т.е,используя побитовые операции, отбразить ту же успеваемость, экономя память. Зараннее благодарен. #include<iostream> using namespace std; struct Student { char *name; char *last_name; char *group; unsigned dis1:1; http://www.cyberforum.ru/cpp-beginners/thread284101.html
C++ С++ set (Множества)
Дан текст из цифр и строчных латинских букв, за которыми следует точка. Определить каких букв - гласных или согласных - больше в этом тексте. напечатать в алфавитном порядке все согласные буквы, которые входят только в одно слово. то есть пользователь вводит с клавиатуры текст, разделенный точками. Пример: aaa4.xxx21f.trw24.1213frw. программа выдаёт: согласных больше t x t и x - это...
Таблица умножения C++
У меня такое дело...надо из корней составить таблицу умножения (Работа с матрицей) Например корни: 1 2 3 должна получиться матрица: 1 2 3 2 4 6 3 6 9
C++ как переделать с cout на printf ? http://www.cyberforum.ru/cpp-beginners/thread284085.html
Вычислить суммы элементов каждой строки матрицы x. Определить наименьшее значение этих сумм и номер соответствующей строки. #include <iostream> #include <stdlib.h> #include <conio.h> #include <stdio.h> using namespace std; int main() { int x,i;
C++ Пересечение, ообъединение, наименьший элемент пересечения множеств "Даны два множества A и B байтовых чисел. Найдите пересечение и объединение этих множеств и определите наименьший элемент пересечения множеств." Для начала, как в С++ задать байтовые множества. Ну и дальше по списку не помешает. подробнее

Показать сообщение отдельно
Wolfed
2 / 2 / 1
Регистрация: 15.02.2011
Сообщений: 70
27.04.2011, 23:17     Граф.Найти все мосты
Помогите пожалуйста,нужно в графе найти мосты(мост-ребро,при удалении которого увеличивается количество компонент связности) ,у меня следующий вопрос:
как задать входные данные?Ну нужно считывать из файла input.txt,есть два способа - массивом вводить(матричный вид,если ребро между вершинами есть ставим 1) либо структурным(незнаю как, но думаю,что struct list, где каждый List соответсвует вершине,а в поле elem указывать с какими вершинами он соединен ребрами). Вот меня интересует структурный ввод - как его осуществить?Вообще с чем легче работать? Метод решения задачи придумал: Убирать ребро если со всех точек можно добрать до одной из вершин то это не мост,в противном случае мост.

Добавлено через 19 часов 22 минуты
Почему выдает ошибку?( при вводе ошибку выдает(
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
#include <iostream>
#include <vector>
#include <algorithm>
using std::vector;
vector<vector<int>>g;
vector<char>used;
int timer;
vector<int>tin,fup;
int min(int a,int b)
{ if (a>b) return b;
else return a;}
void dfs(int v,int p=-1)
{
    used[v]=true;
    tin[v]=fup[v]=timer++;
    for(size_t i=0;i<g[v].size();++i){
        int to=g[v][i];
        if (to=-p) continue;
        if(used[to])
            fup[v]=min(fup[v],tin[to]);
        else{
            dfs(to,v);
            fup[v]=min(fup[v],fup[to]);
            if(fup[to]>tin[v])
                printf ("%d %d",v,to);
        }
    }
}
int main(){
    int n=6,x,i,j;
FILE *in=fopen("input.txt","r");
for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {fscanf(in,"%d",&x);
g[i][j]=x;}
timer=0;
used.assign(n,false);
tin.resize(n);
fup.resize(n);
dfs(0);
}
Добавлено через 4 часа 13 минут
нуу почемууу(
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru