در این برنامه برای حل مارپیچ از پشته استفاده شده است.
تابعی به نام solve تعریف شده است:
- ورودی این تابع یک اشاره گر دوبعدی به دادهی کاراکتر (** char) و یک عدد صحیح (int) میباشد.
- اشارهگر دوبعدی در واقع آدرس خانهی اول از یک آرایهی دوبعدی مربع (تعداد سطر و ستون مساوی) میباشد که یک مارپیچ را نمایش میدهد.
(قالب نمایش مارپیچ به صورت آرایه در ادامه آمده است.) - ورودی بعدی (عدد صحیح) تعداد سطر و ستون آرایه را نشان میدهد.
- این تابع مسیر حل مارپیچ را با کاراکتر '.' در آرایه علامتگذاری میکند.
- برای حل مارپیچ بایستی از ساختمان داده ی پشته استفاده کنید.
- نقطهی شروع حرکت محتصات (0 ,1) و نقطهی پایان مختصات (n-2, n-1) میباشد که n برابر تعداد سطر و ستون آرایه است.
قالب آرایه برای نمایش مارپیچ:
- برای نمایش مارپیچ از یک آرایهی دوبعدی کاراکتر استفاده میشود.
- این آرایه تعداد سطر و ستون برابر دارد.
- دیوارها با کاراکتر '#' مشخص شدهاند.
- مسیر بدون مانع با کاراکتر ' ' مشخص شده است.
دانلود سورس حل مارپیچ (MAZE) با سی پلاس پلاس