![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 27.04.2009
Сообщений: 184
|
![]()
zdastvuyte!!! u menya tut malenkaya problema!!!! delo v tom shto kogda dayu mnogo blokov ona u menya ne rabotaet!!!!! a do 8 i vsyo ok!!!! podskajite!! zaranee spasibo1!!!
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
|
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 27.04.2009
Сообщений: 184
|
![]()
#include <cstdlib>
#include <iostream> #include <cmath> int xanoy_kent(short,short ,short[],const int); int xanoy_zuyg(short ,short ,short[],const int); int print(short[],const int); double k = 0; using namespace std; int main(int argc,char *argv[]) { short f; short t; double n; std::cin >> n ; double moves = pow(2,n) - 1.0; const int sizeOFarray = int(moves); short xanoy[sizeOFarray]; if(int(n)%2 == 1) { f = 1; t = 3; xanoy_kent(f,t,xanoy,sizeOFarray); } else { f = 1; t = 2; xanoy_zuyg(f,t,xanoy,sizeOFarray); } system("PAUSE"); return EXIT_SUCCESS; } int xanoy_kent(short f,short t,short xanoy[],const int sizeOFarray) { if(int(pow(2,(k-1))) == (sizeOFarray/2) +1 ) { print(xanoy,sizeOFarray); return 0; } for(double d = pow(2,k);d <= double(sizeOFarray);d = d + pow(2,(k+1))) { xanoy[int(d)] = (100 * f) + (10*t) + (int(k)+1); if(int(k)%2==0) { f = f + 2; if(f>3) { f = f - 3; } t = t +2; if(t>3) { t = t - 3; } } if(int(k)%2==1) { f = f +1; if(f > 3) { f = f -3; } t = t +1; if(t > 3) { t = t -3; } } } if( int(k)%2 == 1 ) { f = 1; t = 3; } if( int(k)%2 == 0 ) { f = 1; t = 2; } k = k + 1; xanoy_kent(f,t,xanoy,sizeOFarray); } int print(short xanoy[],const int sizeOFarray) { int j = sizeOFarray; for(int i = 1;i<=j;++i) { std::cout<<i<<") "<<xanoy[i]/100<<"-->"<<(xanoy[i]/10)%10<<" -- "<<xanoy[i]%10<<std::endl; } return 0 ; } int xanoy_zuyg(short f,short t,short xanoy[],const int sizeOFarray) { if(int(pow(2,(k-1))) == (sizeOFarray/2) +1 ) { print(xanoy,sizeOFarray); return 0; } for(double d = pow(2,k);d <= double(sizeOFarray);d = d + pow(2,(k+1))) { xanoy[int(d)] = (100 * f) + (10*t) + (int(k)+1); if(int(k)%2==0) { f = f + 1; if(f>3) { f = f - 3; } t = t +1; if(t>3) { t = t - 3; } } if(int(k)%2==1) { f = f +2; if(f > 3) { f = f -3; } t = t +2; if(t > 3) { t = t -3; } } } if( int(k)%2 == 1 ) { f = 1; t = 3; } if( int(k)%2 == 0 ) { f = 1; t = 3; } k = k + 1; xanoy_zuyg(f,t,xanoy,sizeOFarray); }
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
|
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Static Void Problem | RIO | Общие вопросы .NET | 2 | 02.05.2008 16:52 |
Что делать..:(((много читать)Global problem! | Elm0 | Свободное общение | 24 | 28.06.2007 18:13 |