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

предлагаю людям класс "рекурсивный обход матрицы" для решения задач на такую тематику - 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++
Добрый день - решил недавно создать игрушку (третяя на моем счету)... но на этот раз игра не пошаговая - эдакое подобие бомбермена с инвентарем... Можете пожалуйста подсказать по какой причине игра может тормозить ? (Возможно проблема в алгоритме - основная часть которого в мейн функции(это цикл)- пожалуйста обратите внимание) Администрацию сайта просьба не переносить даное сообщение в...
C++ простые функции
Всем приветик!!! Есть код: #include<iostream.h> #include<conio.h> #include<string.h> enum Shape{prizm,parallelepiped,cube,pyramid,cone,cylinder}; class Body {
C++ Построить эйлерову цепь в графе. http://www.cyberforum.ru/cpp-beginners/thread337314.html
Всем доброго времени суток! Помогите пожалуйста или подскажите как сделать следующее. Дали задание по дискретной математике построить эйлерову цепь в графе (нужно реализовать все программе, но вот не знаю с чего начать). Задание следующее: Построить эйлерову цепь в графе. Изменить алгоритм построения эйлерова цикла так, чтобы можно было использовать его для построения эйлеровой цепи в графе....
C++ MinGW запрет неявного преобразования типов Существует ли какой то режим у gcc (MinGW) где бы компилятор "ругался" или хотя бы предупреждал о неявном преобразование типов? Причем не важно: int -> double или double -> int подробнее

Показать сообщение отдельно
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16824 / 5245 / 319
Регистрация: 30.03.2009
Сообщений: 14,121
Записей в блоге: 26
30.07.2011, 18:25     предлагаю людям класс "рекурсивный обход матрицы" для решения задач на такую тематику
Цитата Сообщение от kravam Посмотреть сообщение
И только щас дорос до класса
И при этом не видишь, что при помощи класса решение получается более громоздким? Может для начала надо было бы найти задачи, которые действительно будет проще решать при помощи твоего класса?

Цитата Сообщение от kravam Посмотреть сообщение
Прикинь, я понимаю недостатки универсального интерфейса. Просто где-то внутрях, интуитивно, понимаю чем он чреват и всё тут. Ну так и достоинства его я тоже мыслю. Если сложная задача, по фиг на память- использовать мой интерфейс. Не хватает стека- забить. Я не строю иллюзий, как видишь
Реальные недостатки ты увидишь тогда, когда начнёшь его использовать в реальных условиях. Три твои задачи - это вовсе не реальные условия, а тестовые, потому как эти задачи проще решать без твоего класса

Цитата Сообщение от kravam Посмотреть сообщение
Допустим, нужно тебе попасть из точки A матрицы в точку B по определённым правилам. Вот перебираешь точки, которые этим правилам следуют. Причём начиная в каждой новой точке, всё как-бы по-новому воссоздаётся. Допустим, я "стоял" в точке (3, 5) (только не спрашивай меня, что значит термин "стоял"!) и выполнялся какой-то код. И этот код (как-то: поиск точек куда можно "прынуть", проверка- не конец ли пути) повторяется. А раз повторяется, не писать же его для каждой новой точки! Надо писать рекурсивную функцию для этого дела и параметром в неё передавать координаты текущей точки. Вот и всё
За это пока браться не стоит, но тем не менее напишу. Матрица с точки зрения поиска пути - есть не что иное, как граф. А потому класс по-хорошему надо писать как класс для решения поиска пути в графе. При этом матрицу реализовать как частный случай графа. здесь я приводил пример решения программы для решения судоку. Решалка строилась максимально абстрактно: есть столько-то клеток, которые объединены в столько-то пересекающихся групп и нужно расставить цифры, чтобы в каждой группе цифры не повторялись. При этом обычная квадратная судоку является частным случаем общей. При таком подходе можно задавать входные данные для судоку любой формы, но для квадратной, как для частного случая, процесс этот становится в разы более простым (потому как квадрат проще описывается, чем произвольный набор). Точно так же матрицу проще описать, чем граф произвольной формы: можно задать ширину и высоту и этой информации достаточно, чтобы класс внутри себя построил граф, который в мысленном представлении выглядел бы как прямоугольник

Цитата Сообщение от kravam Посмотреть сообщение
Вот что делается в рекурсивной функции:
1)во первых, ищутся точки куда можно пойти из этой точки
2)Проверка на то, конец пути или нет
3)Если не конец пути, то вызывается функция изменения, потом координаты текущей точки прибавляется к пройденному пути
4)снова вызывается эта функция ДЛЯ КАЖДОЙ ИЗ ТОЧЕК, найденных в пункте 1.
Вот с этого и надо было начинать. Описать некий класс задач с примерами, описать, что для решения этого класса задач было бы удобно пользоваться понятием "поиск пути в графе (матрице)", описать алгоритм на словах, а потом уже показать код. И поменьше быдлокодства и шапкозакидательства

Добавлено через 31 секунду
И ещё более-меняя внятно описать, как твоим классом пользоваться.
 
Текущее время: 02:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru