Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.82
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,364
#1

Дан набор координат точек. Начиная с первой, проложить кратчайший маршрут.... - C++

22.07.2010, 04:46. Просмотров 4419. Ответов 30
Метки нет (Все метки)

Дан набор координат точек. Начиная с первой, проложить кратчайший маршрут, который позволил бы посетить их все по одному разу. Построить графическое изображение маршрута?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2010, 04:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дан набор координат точек. Начиная с первой, проложить кратчайший маршрут.... (C++):

Проложить если возможно маршрут между противолежащими углами - C++
Практическое задание: 9. Двумерный квадратный массив заполнен нулями и единицами. Проложить если возможно маршрут между противолежащими...

Кратчайший маршрут - C++
Очень сложная задачка на мой взгляд. Подскажите хотя-бы алгоритм! Буду очень благодарен.

Найти кратчайший маршрут - C++
Найти кратчайший маршрут, который начинается и завершается в заданной вершине ориентированному графу, проходя через все его вершины...

Найти число точек и сумму расстояний от первой точки до остальных точек - C++
Вектора X и Y задаются вводом; n — размер каждого из векторов X и Y. Пара (Xk, Yk) представляет координаты одной из n точек на...

Отпечатать расстояния от начала координат для тех точек,которые принадлежат кругу с заданным радиусом, и число таких точек. - C++
1)Значение f(k) заключено между значениями t1= -a - √(b+m), t2=√(a+b+m),но не равно нулю. 2)Дана матрица из 2 столбцов и 10 строк.Первый...

Подсчитать количество точек, которые находятся в кругу радиусом R с центром в начале координат. Координаты точек заданы массивами X (100), Y (100) - C++
Подсчитать количество точек, которые находятся в кругу радиусом R с центром в начале координат. Координаты точек заданы массивами X (100),...

30
Хохол
Эксперт С++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
02.08.2010, 22:17 #16
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 <fstream>
#include <vector>
#include <algorithm>
#include <cmath>
 
using namespace std;
 
ifstream fin("input.txt");
ofstream fout("output.txt");
 
struct point
{
    int x, y;
    bool operator < (const point &p)
    {
        return x < p.x || x == p.x && y < p.y;
    }
};
 
#define sqr(x) ((x)*(x))
 
double dist(const point &a, const point &b)
{
    return sqrt(double(sqr(a.x-b.x) + sqr(a.y-b.y)));
}
 
int main()
{
    int n;
    fin >> n;
    vector<point> v(n);
    for(int i = 0; i < n; i++)
        fin >> v[i].x >> v[i].y;
    sort(v.begin(),v.end());
    vector<point> ans(n);
    double mi = 987654321;
    do {
        double len = 0;
        for(int i = 0; i < n-1; i++)
            len += dist(v[i],v[i+1]);
        if(len < mi)
        {
            mi = len;
            ans = v;
        }
    }while(next_permutation(v.begin(),v.end()));
    for(int i = 0; i < n; i++)
        fout << ans[i].x << ' ' << ans[i].y << endl;
}
То же самое что у Mr.X только попроще написано.
0
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,364
02.08.2010, 22:22  [ТС] #17
Цитата Сообщение от Хохол Посмотреть сообщение
То же самое что у Mr.X только попроще написано.
Ох только же говорил что шаблоны нельзя и в MVC++ 6 опять ошибка но я ее исправил и она тупо вылетает после запуска (У тебя i инициализированно два раза типом int) кстати вы их проверяете :-((( или так пишите

47 строка ошибка ;-)

кстати кода копируешь код с другого сайта хоть проверяйте :-)) я его уже видел , но не тут
 Комментарий модератора 
SergProgC++, уважайте людей, которые пытаются Вам помочь, а не обвиняйте.
0
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
02.08.2010, 22:32 #18
SergProgC++, приведите конкретные сообщения об ошибках.
0
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,364
02.08.2010, 22:34  [ТС] #19
ЛАдно и звиняюсь может и не с другого просто знакомый до боли

1.cpp(47) : error C2374: 'i' : redefinition; multiple initialization
warning C4508: 'main' : function should return a value; 'void' return type assumed
0
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
02.08.2010, 22:48 #20
SergProgC++, код приведенный Хохол корректен c точки зрения текущего стандарта C++ (warning не в счет). Проблема в том, что вы используете устаревшую среду, которой практически никто не пользуется. Подгоняйте код под свою IDE.
Цитата Сообщение от Хохол Посмотреть сообщение
C++
1
int n;
замените на:
C++
1
int n, i;
Обе строки:
Цитата Сообщение от Хохол Посмотреть сообщение
C++
1
for(int i = 0; i < n; i++)
замените на:
C++
1
for(i = 0; i < n; i++)
В конце функции main вставьте:
C++
1
return 0;
0
Хохол
Эксперт С++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
02.08.2010, 22:50 #21
О, я не заметил, что начинать надо с первой. Достаточно все
C++
1
v.begin()
заменить на
C++
1
v.begin()+1
и будет правильно.
0
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,364
03.08.2010, 04:58  [ТС] #22
Цитата Сообщение от Хохол Посмотреть сообщение
О, я не заметил, что начинать надо с первой. Достаточно все
C++
1
v.begin()
заменить на
C++
1
v.begin()+1
и будет правильно.
я понимаю что среда не новая, отладил программу ошибок нет, но действия она не выполняет , а просто вылетает и все. Потом я же говорил что шаблонных классов типа вектор быть не должно, и еще, неужели не осталось программистов которые пишут комментарии к своим программа что?, где?, и как?, они делают.:-(((

Извините позаимствовал :-))) :Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям.
0
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
03.08.2010, 11:41 #23
SergProgC++, люди бескорыстно пытаются Вам помочь, и делают это так как они мугут/умеют/хотят, поэтому предъявлять какие-то требования глупо, Вам никто ничем не обязан.
0
M128K145
Эксперт С++
8299 / 3519 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.08.2010, 11:46 #24
Цитата Сообщение от SergProgC++ Посмотреть сообщение
Извините позаимствовал :-))) :Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям.
Код понятен и он элементарный, то что вы его не смогли понять - это вопрос не к автору.
Цитата Сообщение от SergProgC++ Посмотреть сообщение
неужели не осталось программистов которые пишут комментарии к своим программа что?, где?, и как?, они делают
Вы думаете кто-то из программистов когда-нибудь комментировал весь код? Максимум - комментарий, что делает конкретная функция/метод. В С/С++ - обычные комментарии перед методом, в C# - XML-документирование, в Java - JavaDoc и не более того.
Если вы не поняли, что происходит в конкретной строке кода или как работает данная функция - это вам не к программистам за комментарием обращаться надо, а в книгу за знаниями
0
MikeSoft
Эксперт С++
3802 / 1778 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
03.08.2010, 11:53 #25
Цитата Сообщение от SergProgC++ Посмотреть сообщение
Извините позаимствовал :-))) :Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям.
Знаете такую поговорку: Чужими руками жар загребать легко??
Уж извините, позаимствовал. (с)

Цитата Сообщение от SergProgC++ Посмотреть сообщение
Потом я же говорил что шаблонных классов типа вектор быть не должно
Знаете в чём ваша проблема? В том, что вы хотите просто "сдать" эту программу, кто бы её не написал! Вы не хотите разобраться в том, что делает код, который написали специально для вас.
Скажите, что вас останавливает от того, чтобы посмотреть отладчиком что происходит в местах кода, где используется вектор и переписать это так, как вам удобно?

Не нужно ждать, что вам всё предоставят "на блюдечке с голубой каёмочкой".
В разделе Фриланс за такие задачи деньги просят, а вам бесплатно сделали...

В общем, если вы и дальше будете так попрошайничать, ничего не делая, я закрою эту тему.
0
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,364
04.08.2010, 11:36  [ТС] #26
вообщето я свой код выложил, и хотел чтобы ошибки показали

Добавлено через 13 часов 36 минут
Что толку в помощи если начинающего программиста закидывают кодом который он не в состоянии понять из-за сложности конструкции (для новичка!!!) и отсутствия комментариев, может и нет смысла комментировать каждую строку, но код без единого комментария для новичка это темный лес........:-(((. Тут что все прям родились асами в программировании. А насчет книжек, могу сказать что я изучаю язык ,но изучить все со скоростью ,которой дают новые задания не возможно. И при работе над программой я уже пришел к выводу что это алгоритм Дейкстера, и нужно просто исправить мой код а не пихать меня шаблонными функциями, я знаю что есть ошибка но вот где она не найду. И я не предъявляю ни кому ни чего, просто раз я создал тему, то пишите по теме. А закрыть это ваше право!, Мне то ее все равно решать так что я в любом случае доведу программу до конца. А среда, я еще раз говорю не от меня зависит, а от препода который проверяет.
0
MikeSoft
Эксперт С++
3802 / 1778 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
04.08.2010, 14:47 #27
Цитата Сообщение от SergProgC++ Посмотреть сообщение
Что толку в помощи если начинающего программиста закидывают кодом который он не в состоянии понять из-за сложности конструкции (для новичка!!!) и отсутствия комментариев, может и нет смысла комментировать каждую строку, но код без единого комментария для новичка это темный лес........:-(((
Суть вы так и не уловили! Вам показали рабочий код, вы могли обратиться в MSDN за описанием тех функций, которые вам не ясны и заменить их своим кодом. Также, в среде разработки есть отладчик. С помощью него можно пошагово разобрать действия.
0
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,364
04.08.2010, 16:16  [ТС] #28
Зачем мне ваш код когда я свой уже написал мне только бы ошибку найти :-(((

Добавлено через 1 минуту
Алгоритм Дейкстра проверить можете где не так.....
0
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.08.2010, 16:46 #29
SergProgC++, вы хотите чтобы вам помогли, так? Так вот, обычно, когда, людям требуется помощь они ее просят, а не требуют.
Если вы и дальше будете продолжать в том же духе, то помощи вы точно не дождетесь.
0
Nameless One
04.08.2010, 17:01     Дан набор координат точек. Начиная с первой, проложить кратчайший маршрут....
  #30

Не по теме:

Цитата Сообщение от SergProgC++ Посмотреть сообщение
Зачем мне ваш код когда я свой уже написал мне только бы ошибку найти :-(((
Добавлено через 1 минуту
Алгоритм Дейкстра проверить можете где не так.....
Мало кому интересно разбираться в чужом коде и искать в нем ошибки. Тем более с таким отношением с Вашей стороны. Если Вам никто не хочет помочь, то Вы не вправе никого винить. Попробуйте еще раз самостоятельно найти ошибку, помучайте отладчик. Если не справитесь сами, то подумайте, может стоит обратиться в раздел Фриланс?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2010, 17:01
Привет! Вот еще темы с ответами:

Дан проходной лабиринт с одним входом и выходом. Найти кратчайший путь для прохождения этого лабиринта - C++
Дан проходной лабиринт с одним входом и выходом. Найти кратчайший путь для прохождения этого лабиринта.

Вывести в столбик цифры введённого числа, начиная с первой - C++
Напишите программу, которая выводит в столбик цифры введённого числа, начиная с первой. Используйте процедуру. Входные данные ...

Найти кратчайший маршрут, и указать последовательности торговых точек. Графы - Pascal
Условие: Программа должна найти длину кратчайшего маршрута, но и указать последовательность торговых точек для развоза товара. Особенностью...

Проложить маршрут - Unity, Unity3D
Народ, подскажите или дайте ссылку ибо у самого найти не получается. Есть четырехэтажное здание, нужно сделать такую вещь, чтоб при выборе...


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

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

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