:ms_0400: Nazdárek kašpárek lidičky, prosím kdo mi prosím pomůže? Mám okomentovat celou tady tu věc, jak funguje, co který příkazy provádí a proč. Nikdy jsem to neviděl, nevím o tom nic - na začátek prgramování v C++ docela husté ne?
#include "stdafx.h"
#include <iostream>
// N?zev programu: Honojské věže
// Vyres problem hanojske veze pomoci zasobniku
// (Presun N disku z tyce A na tyc B pomoci tyce C)
void ZasobnikHanoj(int N, int A, int B, int C)
{?
int n, a, b, c; // pomocne promenne
// zasobniky
int POM[150], AA[150], BB[150], CC[150];
// index do zasobniku
int i;
// pokud neni co presunout nedelej nic
if (N < 1) return;
// umisti na vrchol zasobniku vstupni parametry
POM[0] = N; AA[0] = A; BB[0] = B; CC[0] = C; i = 1;
// a ted dokud neni zasobnik prazdny
while (i > 0)
{
// vyber parametry z vrcholu zasobniku
i--; n = POM[i]; a = AA[i]; b = BB[i]; c = CC[i];
// pokud jde o prenos jednoho disku proved ho,
// jinak priprav postupne reseni v zasobniku
if (n == 1)
printf("%i -> %in", a, b);
else
{
// priprav presun vseho co bylo nad nejspodnejsim diskem na cilovou tyc
POM[i] = n - 1; AA[i] = c; BB[i] = b; CC[i] = a; i++;
// priprav presun nejspodnejsiho disku na cilovou tyc
POM[i] = 1; AA[i] = a; BB[i] = b; i++;
// priprav presun vseho co je nad nejspodnejsim diskem na pomocnou tyc
POM[i] = n - 1; AA[i] = a; BB[i] = c; CC[i] = b; i++;
}
}
}
// hlavni funkce
void main(void)
{
int N = 0;
char cLine[256];
// zadej pocet disku
while (N < 1)
{
printf("Zadej pocet kruhu: ");
gets(cLine);
if (sscanf(cLine,"%i", &N) != 1)
{
printf("Spatne zadane cislo !!!n");
N = 0;
}
}
// vypis presuny pomoci zasobniku
printf("nVypis presunu pomoci zasobniku:n****************n");
ZasobnikHanoj(N, 1, 3, 2);
getchar();
}
Fórum › C / C++
C++
To fáfo:holky by som balil na nieco ine...
vygoogli "hanojske veze" a potom snad pochopis aj ten algoritmus
BTW:ten header stdafx.h je tam zbytocny (vygenerovany)
1) velmi zajimavy na prvni priklad ;)
2) hanojsky veze o tom furt slysim ale hru sem jeste nevidel takze si stejne jako ty rad pockam na vysvetleni- pokud clovek zna hru je jenoduche okomentovat ;)
3) zajiamve davat tam iostream a pouzivat printf a rikat tomu C++ :) btw: co to je za skolu ? :D
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 138 hostů
Moderátoři diskuze