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

Найти самый короткий путь от точки до точки в матрице - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сформировать одномерный массив на основе двух других массивов http://www.cyberforum.ru/cpp-beginners/thread667481.html
Даны два массива: А, состоящий из N элементов и В, состоящий из N элементов. Сформировать массив C по следующему правилу Результат распечатать в виде: Число элементов: Исходный массив А: Исходный массив В: Новый массив С:
C++ COORD position = {0,0}; - как это работает? Здравствуйте. Разбираю код двух программ: "Сапер" и "Змейка" и в каждой из них есть, вроде бы, функция COORD. То, что COORD position = {0,0}; отвечает за местоположение некоторой точки с координатами (x,y) - это понятно, но как оно работает? http://www.cyberforum.ru/cpp-beginners/thread667479.html
C++ fstream
Всем доброго дня! Как с помощью библиотеки fstream вывести содержимое файла на экран??
C++ Перевод программы с Pascal на С++
1. procedure TForm1.Button1Click(Sender: TObject); var i,k,n:integer; x,y,S:array of real; D:real; begin n:=StrToInt(edit1.Text); D:=StrToInt(edit2.Text); i:=0; for K:=1 to n do
C++ Обработка массива http://www.cyberforum.ru/cpp-beginners/thread667464.html
Помогите напи сать программу по заданному исходнику под Visual C++ Задание: Заданы два массива X=(x1,x2,...,xn) и Y = (y1,y2,...,ym), в состав которых входят натуральные числа, причем в каждом из этих массивов нет повторяющихся элементов. Сформировать массив Z, включив в него все элементы, которые одновременно содержатся в массиве X и массиве Y. Подсчитать количество неповторяющихся...
C++ Программа для операций с комплексными числами На базе приведенного ниже класса и примера его использования надо реализовать программу работы с комплексными числами, что бы выполнялись следующие требования: 1. Программа должна позволять выполнять следующие основные операции на комплексными числами: + - * / ++(унарный плюс) --(унарный минус) 2. Программа должна позволять выполнять приведенные выше операции как над парой комплексных чисел,... подробнее

Показать сообщение отдельно
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
10.10.2012, 14:01     Найти самый короткий путь от точки до точки в матрице
Кстати, можно заменить хвостовую рекурсию циклом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void SetDist(fsize_t x, fsize_t y, dist_t d) {
    while (d < F(x, y).dist) {
        F(x, y).dist = d;
        if (x && F(x - 1, y).pathable)
            SetDist(x - 1, y, d + 1);
        if (x < w - 1 && F(x + 1, y).pathable)
            SetDist(x + 1, y, d + 1);
        if (y && F(x, y - 1).pathable)
            SetDist(x, y - 1, d + 1);
        if (!(y < h - 1 && F(x, y + 1).pathable))
            return;
        y++;
        d++;
    }
}
 
Текущее время: 16:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru