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

Алгоритм Дейкстры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Даны сведения о 20 владельцах авто http://www.cyberforum.ru/cpp-beginners/thread229302.html
Помогите пожалуйста с 2-я задачами 1. Даны такие сведения о 10 человек: фамилия, пол и дата рождения (дата типа структура). Определить возраст каждого, и вывести на экран фамилии тех, кто достиг пенсионного возраста (мужчины старше 60, женщины - 55). 2. Даны такие сведения о 20 владельцах авто: фамилия водителя, марка машины, и ее номер (целое число), пробег (целое число). Найти фамилию...
C++ Найти сумму элементов между нулевым и максимальным значениями Найти сумму элементов массива А , заключенных между единственным нулевым и максимальным значениями массива, не включая эти элементы. http://www.cyberforum.ru/cpp-beginners/thread229285.html
C++ vector
vector <int> v; for (int i = 0; i < 5; i++) { int temp; cin >> temp; v.push_back(temp); } можно как-нибудь по другому заполнить? Обойтись без переменной temp? как-нибудь вроде этого:
C++ Определить значение функции
Определить значение функции! Значения x и y должны быть введены с клавиатуры. Сама функция на скрине.
C++ Найти произведение элементов расположенных между двумя нулевыми элементами http://www.cyberforum.ru/cpp-beginners/thread229281.html
а вот эту можете решить?)) Массив А (100) содержит два нулевых элемента (номера которых не известны). Найти произведение элементов расположенных между ними.
C++ Объявлние классов в разных заголовочных файлах Приветствую всех участников форума. Есть 2 класса А и В. Каждый из содержит указатель на другой класс. Как сделать объявление классов в разных заголовочных файлах? Сейчас использую один заголовочный файл примерно такого вида: //module.h class B; class A { B* pointer; }; подробнее

Показать сообщение отдельно
AnDrew_LP
160 / 162 / 9
Регистрация: 29.05.2010
Сообщений: 435
16.01.2011, 12:42  [ТС]     Алгоритм Дейкстры
Спасибо всем,но я уже сам разобрался))не мог найти ошибку, потому что Visual studio вместо того,чтоб заново скомпилировать файл,ипользовало уже скомпилированый.Из-за этого постоянно выводились те же самые результаты.Удалил папку Debug и все заработало)Переделал с указателями,вот то, что получилось в итоге
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
#include<iostream>
#include<fstream>
#include<iomanip>
#include<conio.h>
using namespace std;
 
void read_from_file(int* n,int* start,int*finish,int* ves)
 {
  ifstream f("deikstra.txt");
  if(!f) cout<<"File error!\n";
  else
  {
    f >> *n >> *start>> *finish;
    for(int i=0;i<*n;i++)
      for(int j=0;j<*n;j++)
       f>>*(ves+i*10+j);
  }
 }
int find_minimum(int* n,bool* used,int* metka)
{
 int min;
 for(int i=0;i<*n;i++)
     if (*(used+i)==false) {min=i;break;}
 for(int i=0;i<*n;i++)
     if(*(used+i)==false && *(metka+min)>*(metka+i)) min=i;
 return min;
}
void find_neighbours(int a,int n,int* ves,bool* used,int* metka)
{
 for(int i=0;i<n;i++)
  if(*(ves+a+i*10)!=0 && !*(used+i) && *(metka+i)>*(ves+a+i*10)+*(metka+a))
   *(metka+i)=*(ves+a+i*10)+*(metka+a);
 *(used+a)=true;
}
void otladka(int* n,int* metka,bool* used)
{
 for(int i=0;i<*n;i++)
  cout<<i+1<<':'<<*(metka+i)<<' '<<*(used+i)<<' ';
 cout<<"\n";
}
bool finish_program(int* n,bool* used)
{
 bool f=true;
 for(int i=0;i<*n;i++)
  if(!*(used+i)) f=false;
 return f;
}
int main()
  {
     int start,finish,n;
     int ves[10][10],metka[10];
     bool used[10];
    read_from_file(&n,&start,&finish,&ves[0][0]);
      start--;
      finish--;
    for(int i=0;i<n;i++)
     {metka[i]=100;used[i]=false;}
    metka[start]=0;
   while(!finish_program(&n,&used[0]))
   {
    int nowusing=find_minimum(&n,&(used[0]),&(metka[0]));
    find_neighbours(nowusing,n,&ves[0][0],&used[0],&metka[0]);
    /*otladka(&n,&metka[0],&used[0]);*/
   }
   cout<<metka[finish];
   cin.get();
  }
 
Текущее время: 08:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru