Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Отобрать в массив числа с числом десятков 0 https://www.cyberforum.ru/ cpp-beginners/ thread1021527.html
Заполнить массив случайными числами и отобрать в другой массив все числа, у которых вторая с конца цифра (число десятков) – ноль. Пример: Исходный массив: 40 105 203 1 14 Результат: 105 203 1 Вот ввод массива: #include <iostream>
C++ Из C# в C++
Привет, Кто нибудь может переделать код из C# в C++? Нам задали задание. На форуме оно уже было написано на C# - мне надо C++. Кто нибудь может помочь, а то я в C# не разбираюсь. Если не тяжело перепишите пожалуйста, вот код на C#: using System; using System.Collections.Generic; using System.Text;
C++ Обработка данных в виде массива структур средствами языка С++ Количество строк: 4. Столбцы: Марка машины, Мощность двигателя, Объем бака, Цвет кузова . Вычислить машину с самым мощным двигателем. #include<cstdlib> #include<iostream> #include<string.h> #include<fstream> using namespace std; struct car{ char marka; int capacity; https://www.cyberforum.ru/ cpp-beginners/ thread1021494.html C++ покжите пример Turbo c++ покжите пример Turbo c++ Структура "Команда": - Название; - Столица; - город - чемпион мир год https://www.cyberforum.ru/ cpp-beginners/ thread1021484.html
C++ Найти с какой стороны цикл будет находить 0 скорее и на какой позиции он стоит
Дан целочисленный массив а, который состоит из десяти чисел(от 0 до 9) и заполняется рандомно. Нужно найти с какой стороны цикл будет находить 0 скорее и на какой позиции он стоит(например 8 4 0 5 5 4 5 1 8 - слева 3).
C++ Ошибки в фрагменте кода вот кусок кода: int ques (char *s1, char *s2) { while (*s1 && *s2 && *s1++ == *s2++); return *--s1 - *--s2; } напишите пару предложений, допустимый ли он в коде :boredom: https://www.cyberforum.ru/ cpp-beginners/ thread1021454.html
C++ структуры в с++ https://www.cyberforum.ru/ cpp-beginners/ thread1021453.html
Имеется список людей (n - человек), среди которых есть мужчины и женщины, хранятся следующие данные: фамилия, имя, пол (true - мужской, false - женский), рост. Опишите функцию Lower(G), определяющую фамилию и имя самого высокого мужчины из списка. я тут кое что начал, но как сделать дальше я не знаю) #include <iostream> #include <Windows.h> using namespace std; struct G //Структура {
поменять сортировку C++
как сделать чтоб сортировало только левую или правою часть из #include <stdio.h> #include <conio.h> #include <stdlib.h> const int N=15; main() { int i, j, c,pr,A; //sort printf("\n Vvedy masyv\n"); for (i=1; i<=N;i++) { printf (" a = " , i); scanf("%d", &A);}
C++ Лексического анализа для языка программирования, удовлетворяющего некоторому условию. https://www.cyberforum.ru/ cpp-beginners/ thread1021423.html
ПОМОГИТЕ РЕШИТЬ ПРОБЛЕМУ УЖЕ ГОРИТ:cry::cry: Разработать программу по выполнению лексического анализа для языка программирования, удовлетворяющего ниже перечисленным требованиям, где n – последняя цифра и m – предпоследняя цифра шифра. #include <cstdlib> #include <iostream> #include <locale> #include <string>
C++ Включите в класс Met функцию bool moved(), которая получает результат вызова pointer() и сообщает, был ли перемещен указатель https://www.cyberforum.ru/ cpp-beginners/ thread1021419.html
Включите в класс Met функцию bool moved(), которая получает результат вызова pointer() и сообщает, был ли перемещен указатель (вследствие перераспределения памяти). Напишите функцию main() для тестирования функции moved(). #include <iostream> #include <string> using namespace std; typedef unsigned char byte; class Mem{ byte*mem;
Описать функцию, возвращающую номер позиции, начиная с которой в строке S содержится К-ое вхождение подстроки C++
Ребят, плиз помогите, даже в условие не въезжаю((( Описать функцию PosK(S0,S,K) целого типа , возвращающую номер позиции, начиная с которой в строке S содержится К-ое вхождение подстроки S0 (К>0). Если количество вхождений S0 в строке S меньше K, то функция возвращает 0. Считать, что перекрывающихся вхождений подстрок S0 строка S не содержит. Вывести значения этой функции для пяти данных троек:...
C++ Строки. Посчитать количество запятых во введенной строке Во введенной строке заменить все пробелы на запятые, а запятые на точки. Посчитать количество запятых во введенной строке. Нужно написать программу. Заранее благодарен. https://www.cyberforum.ru/ cpp-beginners/ thread1021416.html
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
29.11.2013, 13:26 0

Граф на контейнерных классах - C++ - Ответ 5409048

29.11.2013, 13:26. Показов 2471. Ответов 3
Метки (Все метки)

Ответ

список смежности многие делают так:
C++
1
2
3
4
vector<vector<int>> g(n); // сам граф. существует n векторов - каждый представляет собой 
                          // одну из вершин графа
                          // для каждой вершины в ее вектор будем складывать номера смежных
                          // вершин, т.е. номера вершин, в которые есть ребра из данной
тогда процедура добавления ребра в граф будет выглядеть так:

C++
1
2
3
4
5
int u, v;
cin >> u >> v;        // чтение концов ребра
g[u].push_back(v);    // запоминаем, что из u есть ребро в v
g[v].push_back(u);    // конечно, если граф неориентированный, то и в обратную сторону
                      // существует ребро
в вашей задаче вершины имеют произвольную нумерацию + надо по возможности быстро добавлять и удалять, поэтому будем хранить map<номер вершины, список смежности>

1. Хранение графа.
C++
1
map< int, set<int> > g;
2. Добавление вершины. Просто говорим структуре, что в ней будет элемент с таким ключом.
C++
1
2
cin >> index;
g[index];
3. Добавление ребра. Заносим в список смежности соответствующую вершину.
C++
1
2
cin >> u >> v;
g[u].insert(v);
Даже если u не существовало, структура создаст.

4. Удаление ребра. Удаляем
C++
1
2
cin >> u >> v;
g[u].erase(v);
5. Проверка на пустоту. Тут немного сложнее, потому что пустые записи не исчезают из нашего графа при такой реализации операций. Поэтому проверим явно.
C++
1
2
3
4
for(map<int, set<int>>::iterator it = g.begin(); it != g.end(); ++it)
   if(!it->second.empty())
      return false;
return true;
6. Вывести список всех вершин, смежных с v. Просто выводите содержимое g[v].

Мог ошибиться в обозначениях, проверьте. Разбирайтесь.

Вернуться к обсуждению:
Граф на контейнерных классах C++
2
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2013, 13:26
Готовые ответы и решения:

Работа с одномерным массивом с использованием контейнерных классов и алгоритмов библиотеки
вот задача В одномерном массиве из n элементов вычислить: 1) сумму элементов с нечетными...

Определить, какие из этих имен встречаются во всех классах, какие есть хотя бы в двух классах, и какие - только в одном классе
Для каждого из четырех классов указаны имена девочек, обучающихся в них. Определить, какие из этих...

Считать граф из файла (граф задан матрицей) представить его в виде списка и записать список заново в файл
помогите очень срочно надо. считать граф из файла (граф задан матрицей) представить его в виде...

Определить какие из имён встречаются во всех классах, только в некоторых классах, не встречаются ни в одном
1. Заданный имена девочек . Определить , какие из этих имён встречаются во всех классах данной...

3
29.11.2013, 13:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2013, 13:26
Помогаю со студенческими работами здесь

Граф задан цепными списками. Построить его реберный граф
Дорогие форумчане, прошу помочь с написанием данной программы: Граф задан с помощью цепных...

Как преобразовать неориентированный граф в ориентированный граф из матричной записи
Есть ли какой нибудь алгоритм преобразования Неориентированный графа в ориентированный граф из...

Ориентированный граф задан матрицей смежности. Нарисовать граф с наименьшим количеством пересечений
Ориентированный граф задан матрицей смежности. Нарисовать граф с наименьшим количеством...

Дан список, содержащий смешанный граф. Выбрать из него однонаправленные ветви и занести в результирующий граф
Помогите, пожалуйста решить эту зайку. Очень прошу...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru