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

Построить связный граф с вершинами во всех точках так, чтобы суммарная длина его ребра была наименьшей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Калькулятор http://www.cyberforum.ru/cpp-beginners/thread671878.html
Решил написать калькулятор, а вот и он: #include<conio.h> #include<locale.h> #include<stdio.h> #define END '0' #define ERROR 'a' #include<stdlib.h> int main() { setlocale( LC_ALL, "Ukrainian"); int a, b, c;
C++ задать условие if Ребят такая проблема, в проге нужно задать "проверку на дурака", т.е если ты вводиш символ или отрицательное число или 0 или меньше 1 , то выводится сообщение об ошибке, условие о нулевом и отрицательном числе я задал , помогите с символами ( символ может быть любой на клаве) и с числом меньшим 1, вот мой код : #include<iostream> #include<math.h> #include<conio.h> #include<stdio.h>... http://www.cyberforum.ru/cpp-beginners/thread671860.html
C++ Нужно разработать функцию, которая выводит последние N строк из своего файла ввода
Вообще не знаю как делать((. Нужно разработать функцию, которая выводит последние N строк из своего файла ввода. Значение N задано как аргумент командной строки. Функция должна действовать рационально, какими бы неразумными ни были бы ввод или значение N. Оптимальным образом используйте доступную память.
C++ двумерный массив
я создал двумерный массив и ввёл числа допустим 123 658 теперь хочу поменять число 2 на 9 используя индексы массива вот как реализовал но не получается последнее число меняет #include <cstdlib>
C++ Создать абстрактный базовый класс объектов на декартовой плоскости CShape и разработать иерархию классов конкретных фигур http://www.cyberforum.ru/cpp-beginners/thread671849.html
Создать абстрактный базовый класс объектов на декартовой плоскости CShape (фигура). Спроектировать и реализовать иерархию классов конкретных фигур: CPoint, CCircle и т.д. При этом: ... - у всех объектов должен быть реализован метод с именем "ToString" который возвращает информацию в текстовом виде о данном экземпляре (не менее трех характеристик; у точки есть имя и координаты, у...
C++ Написать программу, которая определяет в каком из двух натуральных чисел больше девяток. Написать программу, которая определяет в каком из двух натуральных чисел больше девяток. Заранее благодарю за помощь! подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
18.10.2012, 21:14     Построить связный граф с вершинами во всех точках так, чтобы суммарная длина его ребра была наименьшей
Цитата Сообщение от nikolas982 Посмотреть сообщение
Если кто может, пожалуйста, помогите написать программу
ну попробуйте такой вариант:
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
#include <iostream>
using namespace std;
 
 
int main(){
    int N, i, j, c[100][100], i_min, j_min;
    double a[100][2], b[100][100], min;
    bool d[100]={false}, fl;
    cout<<"Kol-vo vershin: "; cin>>N;
    for(i=0; i<N; i++)
    {
        cout<<"X"<<i+1<<"= "; cin>>a[i][0];
        cout<<"Y"<<i+1<<"= "; cin>>a[i][1]; 
    }
    for(i=0; i<N; i++)
    {
        for(j=0; j<N; j++)
        {
            if(i!=j)
                b[i][j]=(a[i][0]-a[j][0])*(a[i][0]-a[j][0])+(a[i][1]-a[j][1])*(a[i][1]-a[j][1]);
            c[i][j]=0;
        }
    }
    d[0]=true;
    while(true)
    {
        fl=false;
        min=-1.;
        for(i=0; i<N; i++)
            if(d[i]==false)
            {
                fl=true;
                for(j=0; j<N; j++)
                    if(d[j]==true)
                    {
                        if(min==-1.)
                        {
                            min=b[i][j]; i_min=i; j_min=j;
                        }
                        else
                        {
                            if(min>b[i][j])
                            {
                                min=b[i][j]; i_min=i; j_min=j;
                            }
                        }
                    }
            }
        if(!fl)
            break;
        d[i_min]=true;
        c[i_min][j_min]=c[j_min][i_min]=1;
    }
    for(i=0; i<N; i++)
    {
        for(j=0; j<N; j++)
            cout<<c[i][j];
        cout<<endl;
    }
   return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru