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

Транзитивность.Связка.Есть код на PHP. Нужен C - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Получение информации об ОС http://www.cyberforum.ru/cpp-beginners/thread1122202.html
Есть программа которая показывает следующие функции: 1 Имя компьютера 2 Системная информация 3 Системные цвета 4 Директорию Windows Код программы: #include "stdafx.h" #include <windows.h> #include <stdio.h>
C++ Перегрузка операторов под vector Добрый день. Просьба направить в правильном направлении при перегрузке операторов : using namespace std; class polinom{ http://www.cyberforum.ru/cpp-beginners/thread1122200.html
C++ Область видимости. один класс не видит другой класс
Добрый день! такая проблема. Есть базовый класс Q. От него наследуется 2 класса Р и G. Класс P имеет два конструктора 1 принимает число а 2 принимает объект класса g. Класс g имеет один единственный конструктор принимающий объект класса P. При компилировании возникает ошибка класс р не видит класс g. Вопрос: как сделать так чтобы p видел g Базовый класс /// class Q // {protected: int...
Подскажите недостающие библиотеки C++
Необходимо построить прямую, используя алгоритм DDA-линии. Используя алгоритм из википедии(http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_DDA-%D0%BB%D0%B8%D0%BD%D0%B8%D0%B8) #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include <math.h> #include <stdio.h> #include <stdlib.h>
C++ Поиск элементов, которые имеются в двух массивах. http://www.cyberforum.ru/cpp-beginners/thread1122171.html
Написать функцию для поиска элементов, которые имеются в обоих массивах А и В в нескольких экземплярах
C++ Ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN помогите пожалуйста, не получается сделать,туго с динамикой. • Описать структуру с именем TRAIN, содержащую следующие поля: • название пункта назначения; • номер поезда; • время отправления. Написать программу, выполняющую следующие действия: • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN (записи должны быть упорядочены по номерам поездов); • вывод на экран... подробнее

Показать сообщение отдельно
Danteran
0 / 0 / 0
Регистрация: 17.03.2014
Сообщений: 4
17.03.2014, 21:48     Транзитивность.Связка.Есть код на PHP. Нужен C
Здравствуйте. Имеется известная задача связности. (Транзитивность)
Установить связаны ли машины напрямую либо опосредованно,либо необходимо установить новое соединение.
Имеется код на PHP. Кому нетрудно переведите на С.Хотя бы какието моменты. В частности ввод массива массивов и функции add,union .
PHP
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
/**
 * Класс, отвечающий за поиск и объединение двух IP-адресов методом быстрого поиска
 */
class QuickFindConnector
{
    // Здесь будут храниться все связи. Ключи - это IP-адреса, значения - это "связки"
    private $_relations = array();
 
    /**
     * Если IP-адреса отсутствуют в массиве $_relations - добавим их туда
     */
    public function add($ip1, $ip2)
    {
        if(!array_key_exists($ip1, $this->_relations))
            $this->_relations[$ip1] = $ip1;
        if(!array_key_exists($ip2, $this->_relations))
            $this->_relations[$ip2] = $ip2;        
    }
 
    /**
     * Проверяем, связаны ли IP-адреса
     */
    public function find($ip1, $ip2)
    {
        return $this->_relations[$ip1] === $this->_relations[$ip2] ? true : false;
    }
 
    /**
     * Связываем IP-адреса
     */
    public function union($ip1, $ip2)
    {
        // Значение этой переменной указывает на "связку" первого IP
        $ip1Relation = $this->_relations[$ip1];
 
        // Перебираем массив со связями и обновляем "связки" (для тех IP-адресов, у которых такая же 
        // "связка", как у первого IP) "связкой" второго IP
        foreach($this->_relations as $key => $value)
        {
            if($value === $ip1Relation)
                $this->_relations[$key] = $this->_relations[$ip2];
        }        
    }
}
PHP
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
// Зададим входящие данные обычным массивом, для простоты.
// Скорее всего, пары IP-адресов для связывания должны поступать извне.
$input = array(
    array('255.255.0.3', '255.255.0.4'),
    array('255.255.0.4', '255.255.0.9'),
    array('255.255.0.8', '255.255.0.0'),
    array('255.255.0.2', '255.255.0.3'),
    array('255.255.0.5', '255.255.0.6'),
    array('255.255.0.2', '255.255.0.9'),
    array('255.255.0.5', '255.255.0.9'),
    array('255.255.0.7', '255.255.0.3'),
    array('255.255.0.4', '255.255.0.8'),
    array('255.255.0.5', '255.255.0.6'),
    array('255.255.0.0', '255.255.0.2'),
    array('255.255.0.6', '255.255.0.1'),
);
 
$quickFindConnector = new QuickFindConnector();
 
foreach($input as $pair)
{
    // Эти два IP-адреса должны быть связаны
    $ip1 = $pair[0];
    $ip2 = $pair[1];
 
    $quickFindConnector->add ($ip1, $ip2);
 
    // Если данные не связаны - связываем их
    if($quickFindConnector->find ($ip1, $ip2) === true)
        continue;
    else
        $quickFindConnector->union ($ip1, $ip2);
 
 
    // Теперь мы можем что-то сделать с IP-адресами, установить соединение, к примеру
    echo "$ip1 | $ip2 - connection established! <br />";
}
Добавлено через 5 минут
(Именно ПЕРЕВОД неприницпиален,если можете помочь просто с нуля,буду благодарен!)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru