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

Алгоритм Дейкстры (цена на бензин) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ не могу понять что не так((((( http://www.cyberforum.ru/cpp-beginners/thread214583.html
привет всем! у меня проблемка возникла компиятор никак не проглатывает мой код #include <iostream> using namespace std; int main() { struct candybar { char name; float weight; };
C++ Сортировка пузырьком с++ Сортировка пузырьком, все работает, но помогите поменять ввод цифр в ручную на ввод цифр рандома (от -100 до +100). #include <iostream> using namespace std; // наш массив int array; // сортировка void*Sort(int col) { // временная переменная для хранения промежуточного результата int trash=0; http://www.cyberforum.ru/cpp-beginners/thread214582.html
Нужно написать программу в с++ ,массивы C++
Из целочисленного массива Х(N) записать в массив Y(к)все элементы превышающие среднее арифметическое всех элементов массива Х.Удалить в массивах все элементы являющиеся не простыми числами.В программе написать функции:формирование массива Y,определение среднего арифметического,удаления элемента. Если можно подробно опишите процесс удаления элемента... ...
НОК и НОД C++
Здоров Всем ! Вот условие : Определить функцию для нахождения наименьшего общего кратного (НОК) и наибольшего общего делителя (НОД) двух натуральных чисел. Определить НОК и НОД для n введенных нату-ральных чисел. Спс
C++ STL>>list<_Ty> http://www.cyberforum.ru/cpp-beginners/thread214560.html
Подскажите, пожалуйста. Я сейчас пытаюсь вникнуть в суть контейнеров, их свойства и функции. Так вот, создал я двун. список с помощью list, тип определил свой, например _Ty. Добавление происходит четко, всё хорошо. После добавления решил, что нужно организовать поиск того узла. Задействовал функцию find() из algorithm, сделал сл. образом list<_Ty> ob1; .... _Ty data(2,3); // какой-то там...
C++ Сортировка слиянием Всем доброго время суток, дана задача: Требуется упорядочить элементы некоторого массива целых чисел, который следует упорядочить по возрастанию: Файл MergeSort.h #ifndef __MERGE_SORT_H__ #define __MERGE_SORT_H__ // Включить печать отладочных сообщений. #define DEBUG_ECHO 1 подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.12.2010, 17:25     Алгоритм Дейкстры (цена на бензин)
Вот рабочий вариант:
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
#include <stdio.h>
main(){
       FILE *in,*out;
       in=fopen("input.txt","r");
       out=fopen("output.txt","w");
       int i,n,m,x, j;
       int f=-1;
       int mas[101][101];
       int mas_benz[101];
       int mas_res[101];
       int mas_kontr[101]={0};
       int temp=0;
       x=1;
       fscanf(in,"%d",&n); // количество городов
       
       for(i=0;i<n;i++){
       fscanf(in,"%d",&mas_benz[i]); // стоимость бензина
       mas_res[i]=10000;
       for(j=0; j<n; j++)
           mas[i][j]=0;
       }
       fscanf(in,"%d",&m); // количество дорог
       
       for(i=0;i<m;i++){
           int temp1, temp2;
           fscanf(in,"%d %d",&temp1, &temp2); // соединения
           mas[temp1-1][temp2-1]=mas[temp2-1][temp1-1]=1;  
       }
       int fl=1; mas_res[0]=0;
       while(fl)
       {
           fl=0; temp=-1;
           for(i=0; i<n; i++)
               if(mas_res[i]!=10000 && mas_kontr[i]==0)
               {
                   fl=1;
                   if(temp==-1)
                       temp=i;
                   else
                       if(mas_res[i]<mas_res[temp])
                           temp=i;
               }
            for(i=0; i<n; i++)
                if(mas[temp][i]==1 && mas_kontr[i]==0)
                {
                    if(mas_res[temp]+mas_benz[temp]<mas_res[i])
                        mas_res[i]=mas_res[temp]+mas_benz[temp];
                }
            mas_kontr[temp]=1;
       }
       if(mas_res[n-1]!=10000)
           f=mas_res[n-1];       
       fprintf(out,"%d",f);
       fclose(in);
       fclose(out);
       }
 
Текущее время: 19:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru