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

Помогите с программой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Седловая точка http://www.cyberforum.ru/cpp-beginners/thread572164.html
Элемент матрицы назовем седловой точкой, если он является наименьшим в своей своей строке и одновременно наибольшим в своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в...
C++ Разбить предложение на слова и записать в массив дано предложение из 10 слов заполнить ими массив из 10 элементов http://www.cyberforum.ru/cpp-beginners/thread572138.html
C++ не запускается программа,в чем ошибка
#include<iostream> #include <stdio.h> using namespace std; switch(days); void(main); { case1:{cout<<"понедельник"; cout <<28-1<<; break; case2:{cout<<"вторник";
C++ Написать процедуру присоединения списка к другому списку
Задача: Написать процедуру присоединения списка L2 к списку L1. Код: #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <ctype.h> struct stack{int chislo; stack *next;}; stack...
C++ сумму всех элементов матрицы целых чисел 3*3 http://www.cyberforum.ru/cpp-beginners/thread572118.html
Написать программу,вычисляющую сумму всех элементов матрицы целых чисел 3*3, расположенных над главной диагональю. Результат вывести на экран.
C++ Файловые потоки Для каждого автобуса автопарка укажите его номер, маршрут, фамилию и инициалы шофера, время в пути. Предусмотреть поиск по фамилии шофера. подробнее

Показать сообщение отдельно
olecia
Сообщений: n/a

Помогите с программой - C++

12.05.2012, 14:23. Просмотров 316. Ответов 0
Метки (Все метки)

для задачи коммивояжера нашла код
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
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
 
int wpchk(int w, int *wpts)
{
    int i=0;
    int flg=0;
    while(wpts[i]!=-1)
    {
        if(wpts[i]==w){flg=1;}
        i++;
    }
 
    if (flg==0) {return 0;} else return 1;
}
 
void main()
{
    srand( (unsigned)time( NULL ) );
 
    //int prices[10][10];
    int waypoint[11]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1};
    int way[11]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
    int start=-1;
    int end=-1;
    int min;
    int imin;
 
*///                        0  1  2  3  4  5  6  7  8  9
    int prices[10][10]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0
                0, 0, 2, 9, 8, 0, 0, 0, 0, 0, //1
                0, 2, 0, 3, 0, 20,0, 0, 0, 0, //2
                0, 9, 3, 0, 7, 4, 0, 0, 0, 0, //3
                0, 8, 0, 7, 0, 11,0, 0, 0, 0, //4
                0, 0, 20,4, 11,0, 0, 0, 0, 0, //5
                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //6
                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //7
                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //8
                0, 0, 0, 0, 0, 0, 0, 0, 0, 0};//9
 
    printf("Enter № of start location:");
    scanf("%i",&start);
    printf("Enter № of finish location:");
    scanf("%i",&end);
    waypoint[0]=start;
    int n=0;
    int w;
    while(waypoint[n]!=end)
    {   
        min=0;
        w=waypoint[n];
        for(int i=0;i<10;i++)
        {
            if(((min==0)||((prices[w][i]<min)&&(prices[w][i]>0)))&&wpchk(i,waypoint)==0) {min=prices[w][i];imin=i;}
        }
        n++;
        waypoint[n]=imin;
    }
 
    printf("\nThe way is:\n");
    int i=0;
    while(waypoint[i]!=-1)
    {
        printf("%i ",waypoint[i]);
        i++;
    }
    getchar();
    getchar();
}
но выдает ошибку. что не так? может у кого есть работающая программа?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru