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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ не могу понять что не так((((( http://www.cyberforum.ru/cpp-beginners/thread214583.html
привет всем! у меня проблемка возникла компиятор никак не проглатывает мой код #include <iostream> using namespace std; int main() { struct candybar { char name; ...
C++ Сортировка пузырьком с++ Сортировка пузырьком, все работает, но помогите поменять ввод цифр в ручную на ввод цифр рандома (от -100 до +100). #include <iostream> using namespace std; // наш массив int array; //... http://www.cyberforum.ru/cpp-beginners/thread214582.html
Нужно написать программу в с++ ,массивы C++
Из целочисленного массива Х(N) записать в массив Y(к)все элементы превышающие среднее арифметическое всех элементов массива Х.Удалить в массивах все элементы являющиеся не простыми числами.В...
НОК и НОД C++
Здоров Всем ! Вот условие : Определить функцию для нахождения наименьшего общего кратного (НОК) и наибольшего общего делителя (НОД) двух натуральных чисел. Определить НОК и НОД для n...
C++ Найти наибольшее значение матрицы http://www.cyberforum.ru/cpp-beginners/thread214566.html
Помогите пожалуйста с задачей В данной действительной квадратной матрице порядка n найти наибольший по модулю элемент. Получить квадратную матрицу порядка n-1 путём отбрасывания из исходной...
C++ STL>>list<_Ty> Подскажите, пожалуйста. Я сейчас пытаюсь вникнуть в суть контейнеров, их свойства и функции. Так вот, создал я двун. список с помощью list, тип определил свой, например _Ty. Добавление происходит... подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт С++
4673 / 2499 / 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);
       }
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru