Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2010, 21:15   #1
jimmywoodes
 
Регистрация: 24.01.2010
Сообщений: 9
По умолчанию С. Ханойские башни псевдографика

Вот программа , она решает задачу ханойские башни. Помогите дописать, чтоб она еще показывала каждый ход псевдографикой
Код:
#include <stdio.h>
#include <conio.h>

void DisplayPin(int,int);
void TransferInNext( int,int,int,int);
void InputPin(int);
void Swap(int,int);

struct Pin
{
	int pin[3][50];
	int count[3];
}T;
int count=0;
int main()
{
	int amount;
   clrscr();
	printf("Input amount rings->");
   scanf("%d",&amount);
	if(amount>50)
	{
		printf("<50\n");
		return 1;
	}
	InputPin(amount);
	if(amount)
		TransferInNext( 1,3,2,amount);
	printf("\nAmount step %d \n",count);
   getch();
	return 0;
}

void DisplayPin( int from,int to)
{
	int i,j;
	printf("\nMove Disk From %d To %d",from,to);
	for(i = 0; i < 3; i++)
	{
		printf("\n");
		printf("| ");
		for(j = 0;j< T.count[i]; j++)
			printf("%d",T.pin[i][j]);
	}
	printf("\n");
}
void Swap(int from,int to)
{
	T.pin[to-1][T.count[to-1]++]=T.pin[from-1][--T.count[from-1]];
	DisplayPin(from,to);
	count++;
}
//////////////////////////////////
void TransferInNext ( int from,int to,int via,int n)
{
    if(n==1)
    {
        Swap(from,to);
    }
    else
    {
        TransferInNext(from,via,to,n-1);
        Swap(from,to);
        TransferInNext(via,to,from,n-1);
    }
}
///////////////////////////////////
void InputPin(int len)
{
	int i,k=len;
	printf("| ");
	for(i=0; i<len; i++,k--)
	{
		T.pin[0][i]=k;
		printf("%d",T.pin[0][i]);
	}
	printf("\n| \n| \n---------------------------------------\n\n");
	T.count[0]=len;
	return;
}
заранее спс
jimmywoodes вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ханойские башни fs444 Общие вопросы C/C++ 10 30.03.2010 16:02
Игра. Ханойские башни. Мышка. MariyaVo Паскаль, Turbo Pascal, PascalABC.NET 1 07.12.2009 15:46
Ханойские башни.С++ nN1 Помощь студентам 1 09.11.2009 19:51
Ханойские башни Vistar Паскаль, Turbo Pascal, PascalABC.NET 2 23.05.2009 02:05
Ханойские башни с рандомным расположением колец fordil Помощь студентам 0 09.12.2008 22:19