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

Алгоритм Дейкстры (часть кода есть) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод из постфиксной в обычную форму http://www.cyberforum.ru/cpp-beginners/thread967205.html
выражение (w+e)*r-t*y записывается в постфиксной форме как we+r*ty*-. Требуется выдать его в виде (((w+e)*r)-(t*y)) как это запрограмировать, желательно код проги
C++ программа используя только побитовые операции Перемножить байтовые переменные a,b (unsigned char a, b) в "столбец". Учесть возможную отрицательность операндов. Кто знает помогите решить http://www.cyberforum.ru/cpp-beginners/thread967199.html
блок массива C++
Здравствуйте. Как функцией вернуть часть динамического массива от элемента a до a с наименьшими, по возможности, затратами времени и памяти? Есть что-нибудь лучше, чем массив указателей на эти элементы массива? Дальше этот кусок должен использоваться в блочном алгоритме, но это уже совсем другая история...
C++ Задали домашку протабулировать функицию. Объясните пожалуйста
Добавлено через 7 минут В общем задали протабулировать функцию через argoUML вот по этому варианту A, A+H, A+H+C*H, A+H+C*H+C^2*H ,вот эту функцию y=ln(x+5) всё это делить на - под корнем 7+5x+x^2 хоть в двух словах как это нужно сделать))))
C++ Открыть форму http://www.cyberforum.ru/cpp-beginners/thread967184.html
Подскажите пожалуйста, столкнулся со следующей проблемой: Работаю в Visual Studio 2010. Проект состоит из файла .cpp, содержащий функцию main() и формы. Как мне вызвать эту форму и передать в нее значения переменных, с которыми я работал до этого?
C++ Функция которая склеивает 2 строки Доброго времени суток. Я решил написать простенькую функцию но у меня появилась проблема. В результате работы программы при вводе: trat ata выводит t В решении проблемы хотелось бы услышать где проблема как ее решить, а вот решить я постараюсь сам. подробнее

Показать сообщение отдельно
zeke
3 / 3 / 0
Регистрация: 02.10.2013
Сообщений: 62
02.10.2013, 16:17     Алгоритм Дейкстры (часть кода есть)
Здравствуйте!
Нужно реализовать на С++ такую консольную программу:
1. Задается массив размерности n;
2. Найти максим. j такой, что a[i] < a[j]
Сделал так:
C++
1
2
for(i=n-2; (a[i]>a[i+1]&&(i>=0); i--);
if (i<0) flag=0 //flag отвечает за построение следующей перестановки
3.
C++
1
for(i=n+1; (a[i]>a[j])&&(j>=i+1); j--)
4.
C++
1
2
3
temp=a[i];
a[i]=a[j];
a[j]=temp;
5. Переворачиваем хвост, так сказать. Реализация есть, но я в ней что-то совсем не уверен.
6. Вывод результата работы алгоритма Дейкстры.

Есть несколько "требований"-указаний, некоторые из них начал записывать в коде:
а).
C++
1
2
3
4
int f(int *a, int n)
{
//алгоритм здесь
}
Должно возвращать значение flag. Int *a - массив, int n - его размер

б). Вызов всего этого по условию

C++
1
2
3
4
while(flag!=0)
{
//функция f  из а)
}
Вывод в main (вывод содержимого памяти по указателю *a после каждой перестановки).

------------
Если кто понял, прошу помочь, или хотя бы направить, допилить, собрать это в кучу . Если еще и с комментариями, так я буду очень рад, т.к. надо разобраться.
Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru