ВУЗ:
Составители:
Рубрика:
. Практикум по курсу «Алгоритмизация и программирование». Часть 2
printf("Введите номер стержня-источника (1,2 или 3):");
scanf("%d",&a);
printf("Введите номер стержня-приемника (1,2 или 3):");
scanf("%d",&b);
c=6-a-b;
if(n<=0)
{
printf("Введите положительное количество
колец.\n");
return;
}
if(a==b || a<=0 || a>3 || b<=0 || b>3)
{
printf("Неправильно введены номера стержней.\n");
printf("Стержни имеют номера 1, 2 или 3, и номера
стержней источника и приемника не совпадают.\n");
return;
}
HanoiTower(a,b,c,n);// вызов функции
printf("\n");
}
Рис. 2.6. Процесс переноса пирамиды со стержня a на стержень b.
// определение функции решения задачи о Ханойской башне
void HanoiTower(int a, int b, int c, int n)
{
if(n==1) // перенос одного кольца
printf("%d->%d\t",a,b);
else
{
// рекурсивный вызов функции
45
. Практикум по курсу «Алгоритмизация и программирование». Часть 2
printf("Введите номер стержня-источника (1,2 или 3):");
scanf("%d",&a);
printf("Введите номер стержня-приемника (1,2 или 3):");
scanf("%d",&b);
c=6-a-b;
if(n<=0)
{
printf("Введите положительное количество
колец.\n");
return;
}
if(a==b || a<=0 || a>3 || b<=0 || b>3)
{
printf("Неправильно введены номера стержней.\n");
printf("Стержни имеют номера 1, 2 или 3, и номера
стержней источника и приемника не совпадают.\n");
return;
}
HanoiTower(a,b,c,n);// вызов функции
printf("\n");
}
Рис. 2.6. Процесс переноса пирамиды со стержня a на стержень b.
// определение функции решения задачи о Ханойской башне
void HanoiTower(int a, int b, int c, int n)
{
if(n==1) // перенос одного кольца
printf("%d->%d\t",a,b);
else
{
// рекурсивный вызов функции
45
Страницы
- « первая
- ‹ предыдущая
- …
- 43
- 44
- 45
- 46
- 47
- …
- следующая ›
- последняя »
