Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Psixozzzz
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 17
#1

Электронные станции: радиальные, кольцевые и смешанные виды связей между ними - C++

23.09.2014, 16:03. Просмотров 420. Ответов 9
Метки нет (Все метки)

Нужно написать начало проги, помогите пожалуйста! Существует 15 станции, и 60 вариантов в каждом варианте выбраны 6 станции из 15 и в каждом варианте мощность станции разная. Существует так же связи между станциями!
Например 1 вариант:даны станции 1,2,3,4,5,6 и связи между ними могут быть самыми разными, например 1-2,4-6,5-3,3-2,4-2. В проге я должен выбрать какие станции даны, из 15 выбрать 6, присвоить им значения мощности и выбрать какие связи есть и так же назначит каждой связи мощность, т.е. мощность между станциями. Продолжение проги я сам напишу, там уже формулы расчетов идут. Помогите плиз!!! Срочно нужна прога!!!!
Вот ссылка на варианты, Если понадобится
https://yadi.sk/i/ajHondR_bch9z
http://www.cyberforum.ru/cpp-beginners/thread889571.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2014, 16:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Электронные станции: радиальные, кольцевые и смешанные виды связей между ними (C++):

Задача на рекурсию. Найти кратчайшее расстояние между городами i и j даже если между ними нет прямой дороги
Дана матрица размером NxN с расстояниями между городами при наличии прямой...

Типы связей между объектами
Какие существуют типы связей между объектами и их смысл? Пыталась гуглить, но...

Создание таблиц и связей между ними
Доброго времени суток! Я уже неделю не могу создать нормальную БД и связи...

(Access) Создание таблиц и установление связей между ними
Тесты. включают таблицы -группа -студенты -прохождение тестов -тема...

Как наглядно представить код в виде иерархии классов и связей между ними
Желательно видеть как внутренние связи, между всеми методами, в том числе и...

9
vxg
Модератор
3230 / 2033 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
23.09.2014, 16:10 #2
1 зачем выбирать станции и присваивать значения мощности если в таблице уже указан набор станций для каждого варианта (кстати, их почему-то может быть 4 или 5, но не 6 как вы говорите)?
2 о каких связях идет речь?
0
Psixozzzz
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 17
23.09.2014, 16:19  [ТС] #3
vxg,
1. Первая и вторая станция существует в каждой работе, забыл упомянуть! Можете написать чтобы из дока все выбирало?
2. Радиальные, кольцевые и смешанные 3 вида связей!
0
vxg
Модератор
3230 / 2033 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
23.09.2014, 16:35 #4
пусть у нас есть текстовый файл заполненный стоками вида
мощность_станции_1
мощность_станции_2
номер_варианта мощность_станции_3 мощность_станции_4 ... мощность_станции_15
если станция не нужна (в документе там прочерк) в качестве мощности в файле пусть будет указан ноль
читаем файл
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
#include <stdlib>
#include <iostream>
#include <fstream>
 
int main(void)
{
    std::cout << "var no:";
    int n;
    std::cin >> n;
    if (n < 1 || n > 60)
    {
        std::cout << "bad var no" << std::endl;
        system("pause");
        return -1;
    }
 
    std::ifstream dat;
    dat.open("data.txt");
    if (!dat)
    {
        std::cout << "can not open data file" << std::endl;
        system("pause");
        return -1;
    }
 
    double p[15]; //Г¬Г*Г±Г±ГЁГў Г± ìîùГ*îñòüþ
 
    dat >> p[0] >> p[1]; //Г·ГЁГІГ*ГҐГ¬ ìîùГ*îñòè ïåðâûõ äâóõ Г±ГІГ*Г*öèé
 
    for (int i = 0; i < n; i++) //Г·ГЁГІГ*ГҐГ¬ ñòðîêè äî âûáðГ*Г*Г*îãî ГўГ*ðèГ*Г*ГІГ*
    {
        int tmp;
        dat >> tmp; //Г*îìåð ГўГ*ðèГ*Г*ГІГ* - ГЁГЈГ*îðèðóåì
        for (int j = 2; j <= 14; j++) //Г·ГЁГІГ*ГҐГ¬ ìîùГ*îñòè îñòГ*ëüГ*ûõ Г±ГІГ*Г*öèé
        {
            dat >> p[j];
        }
    }
 
    dat.close();
 
    for (int i = 0; i < 15; i++)
    {
        std::cout << p[i] << std::endl; //ëþáóåìñÿ ГІГҐГ¬ Г·ГІГ® ïðî÷èòГ*ëè
    }
 
    system("pause");
    return 0;
}
0
Psixozzzz
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 17
23.09.2014, 17:27  [ТС] #5
А нельзя чтобы присвоить каждой мощности которые выбрали из дока букву например P1 = 30 и т.д. Просто мне потом с этими цифрами формулы писать нужно, и как на счет связей? Есть такая формула которая считает какая единица течет между какой связью, по этому мне нужны связи.
0
vxg
Модератор
3230 / 2033 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
23.09.2014, 17:41 #6
букву)?
C++
1
2
3
4
5
6
7
8
9
10
#include <string>
#include <sstream>
...
    std::string names[15]; //массив имен
    for (int i = 0; i < 15; i++)
    {
        std::stringstream ss;
        ss << "p" << i + 1;
        names[i] = ss.str();
    }
связи задать как-то так
C++
1
2
3
4
5
6
7
8
9
10
...
    int link[XXX][2]; //массив связей - индексы начальной и конечной станции
    for (int i = 0; i < XXX; i++)
    {
        std::cout << "link[" << i << "][0]=";
        std::cin >> link[i][0];
 
        std::cout << "link[" << i << "][1]=";
        std::cin >> link[i][1];
    }
0
Psixozzzz
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 17
23.09.2014, 19:30  [ТС] #7
vxg, умоляю можешь вот это все собрать и засунуть в один код у меня косячно получается
0
marina2
Рожденная для битвы
272 / 50 / 10
Регистрация: 08.11.2009
Сообщений: 1,029
23.09.2014, 22:46 #8
vxg, #include <stdlib> - что за библиотека? В 2013 студии не находит.

Добавлено через 2 минуты
Понятно, необходимо расширение добавить stdlib.h
0
vxg
Модератор
3230 / 2033 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
24.09.2014, 09:29 #9
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
76
77
78
79
80
81
82
83
84
85
86
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
 
int main(void)
{
    std::string name[15]; //Г¬Г*Г±Г±ГЁГў Г± èìåГ*Г*ìè
    for (int i = 0; i < 15; i++)
    {
        std::stringstream ss;
        ss << "p" << i + 1; //Г*îìåðГ* Г±ГІГ*Г*öèé áóäóò îò 1 äî 15
        name[i] = ss.str();
    }
 
    std::cout << "var no: ";
    int n;
    std::cin >> n; //ââîäèì Г*îìåð ГўГ*ðèГ*Г*ГІГ*
    if (n < 1 || n > 60)
    {
        std::cout << "bad var no" << std::endl;
        system("pause");
        return -1;
    }
 
    std::ifstream dat;
    dat.open("data.txt");
    if (!dat)
    {
        std::cout << "can not open data file" << std::endl;
        system("pause");
        return -1;
    }
 
    double p[15]; //Г¬Г*Г±Г±ГЁГў Г± ìîùГ*îñòüþ
 
    dat >> p[0] >> p[1]; //Г·ГЁГІГ*ГҐГ¬ ìîùГ*îñòè ïåðâûõ äâóõ Г±ГІГ*Г*öèé
 
    for (int i = 0; i < n; i++) //Г·ГЁГІГ*ГҐГ¬ ñòðîêè äî âûáðГ*Г*Г*îãî ГўГ*ðèГ*Г*ГІГ*
    {
        int tmp;
        dat >> tmp; //Г*îìåð ГўГ*ðèГ*Г*ГІГ* - ГЁГЈГ*îðèðóåì
        for (int j = 2; j <= 14; j++)
        {
            dat >> p[j]; //Г·ГЁГІГ*ГҐГ¬ ìîùГ*îñòè îñòГ*ëüГ*ûõ Г±ГІГ*Г*öèé
        }
    }
 
    dat.close();
 
    for (int i = 0; i < 15; i++) //ëþáóåìñÿ ГІГҐГ¬ Г·ГІГ® ïðî÷èòГ*ëè
    {
        std::cout << name[i] << "=" << p[i] << std::endl;
    }
 
    std::cout << "links count: ";
    int links_count;
    std::cin >> links_count; //ââîäèì êîë-ГўГ® ñâÿçåé
    if (links_count < 1)
    {
        std::cout << "bad links count" << std::endl;
        system("pause");
        return -1;
    }
 
    int *a = new int[links_count]; //Г¬Г*Г±Г±ГЁГў Г± ГЁГ*äåêñГ*ìè Г*Г*Г·Г*ëüГ*ûõ Г±ГІГ*Г*öèè
    int *b = new int[links_count]; //Г¬Г*Г±Г±ГЁГў Г± ГЁГ*äåêñГ*ìè ГЄГ®Г*ГҐГ·Г*ûõ Г±ГІГ*Г*öèè
    for (int i = 0; i < links_count; i++)
    {
        std::cout << "a[" << i << "]=";
        std::cin >> a[i];
 
        std::cout << "b[" << i << "]=";
        std::cin >> b[i];
    }
 
    for (int i = 0; i < links_count; i++) //ëþáóåìñÿ ГІГҐГ¬ Г·ГІГ® ââåëè
    {
        std::cout << "a[" << i << "]=" << a[i] << std::endl;
        std::cout << "b[" << i << "]=" << b[i] << std::endl;
    }
 
    system("pause");
    return 0;
}
0
Тамика
Котовчанин
918 / 462 / 195
Регистрация: 16.02.2010
Сообщений: 3,264
Записей в блоге: 28
24.09.2014, 11:02 #10
Цитата Сообщение от marina2 Посмотреть сообщение
vxg, #include <stdlib> - что за библиотека? В 2013 студии не находит.
#include <cstdlib>
1
24.09.2014, 11:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2014, 11:02
Привет! Вот еще темы с решениями:

Виды химических связей
Здравствуйте.У меня следующая проблема:мы повторяем химические...

только учусь. виды связей.верны ли рассуждения?
только начали изучать БД и дали самостоятельное задание вроде начинаю...

Определить на станции №5 виды услуг наибольшего и наименьшего объема
Дана матрица N(строки)xM(столбцы). Пусть N (по вариантам) – количество...

Cisco Packet Tracer. Как соединить удаленно между собой сети, установив между ними защищённое SSL соединение?
Помогите, пожалуйста, разобраться в задаче. Необходимо построить сеть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru