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

предлагаю людям класс "рекурсивный обход матрицы" для решения задач на такую тематику - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ [Матрица] Круг или квадрат? http://www.cyberforum.ru/cpp-beginners/thread337379.html
Доброго времени суток. Условие тут. Просьба подсказать алгоритм или выложить код с кратким описанием идеи решения. Сам довольно много думал, но ничего дельного не надумал... А задача должна быть...
C++ Visual C++ & Hello world Вот поставил Visual C++ 2005 Пишу: #include "stdafx.h" #include <iostream.h> int _tmain(int argc, _TCHAR* argv) { http://www.cyberforum.ru/cpp-beginners/thread337362.html
Быстрый перевод байта в вектор битов C++
Всем привет. Есть тут интересная задачка: перевести байт в вектор битов, да побыстрее. Я реализовал это дело через таблицу. Кто знает способ лучше ? public: void static CharToBits (const...
Почему тормозит играаа??? C++
Добрый день - решил недавно создать игрушку (третяя на моем счету)... но на этот раз игра не пошаговая - эдакое подобие бомбермена с инвентарем... Можете пожалуйста подсказать по какой причине...
C++ простые функции http://www.cyberforum.ru/cpp-beginners/thread337334.html
Всем приветик!!! Есть код: #include<iostream.h> #include<conio.h> #include<string.h> enum Shape{prizm,parallelepiped,cube,pyramid,cone,cylinder}; class Body {
C++ Построить эйлерову цепь в графе. Всем доброго времени суток! Помогите пожалуйста или подскажите как сделать следующее. Дали задание по дискретной математике построить эйлерову цепь в графе (нужно реализовать все программе, но вот не... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
30.07.2011, 18:22  [ТС]
Если из точки можно пойти в несколько точек, например в 4 (ход конём из центра доски), то рекурсивная функция вызывается циклом, псевдокод:

C++
1
2
3
4
rek_funktsia () {
 for (int i= 0; i< 4; i++)
  rek_funktsia ();
}
Ньюанс: мной было сказано, что в рекурсивную функцию передаются координаты текущей точки. Это я для понятности сказал. В каждой функции действительно присутствую координаты текущей точки. Но она ГЛОБАЛЬНЫ i_tek, j_tek; они являются полями класса и определяются перед вызовом рекурсивной функции и определяются перед рекурсией. То есть так будет:

C++
1
2
3
4
5
6
rek_funktsia () {
//Тут определяются глобальные переменные  (поля класса) i_tek и j_tek 
//Таким образом в каждой рекурсивной функции свои текущие координаты 
for (int i= 0; i< 4; i++)
  rek_funktsia ();
}
Вопрос: на фига я сделал текущие координаты глобальными, а не передаю их в функцию параметрами, например? Ответ прост: в предикате иногда приходится использовать координаты текущей точки. Для этого они должны быть полями класса и возвращаться функциями:
C++
1
2
3
  //Эти функции возвращают координаты текущей клетки
  int get_i_tek () {return i_tek;}
  int get_j_tek () {return j_tek;}
Вот и всё.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru