Форум программистов, компьютерный форум CyberForum.ru

Ханойские башни - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определение члена ряда Фибоначчи http://www.cyberforum.ru/cpp-beginners/thread109679.html
У Дейтлов есть задача Вопросы по модификации: а) использовать double вместо int. То есть был код #include<iostream> using namespace std; #include<windows>
C++ Определение члена ряда Фибоначчи У Дейтлов есть задача http://xmages.net/upload/780fa98c.jpg Вопросы по модификации: а) использовать double вместо int. То есть был код #include<iostream> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread109676.html
C++ Перенос двузначных элементов массива в новый
всем привет!у меня есть прога которая автоматом заполняет массив и сортирует его по возрастанию,как сделать чтоб из этого массива все 2значные элементы перенести в новый массив и вывести на экран #include <iostream> #include <stdlib.h> #include <time.h> using namespace std; void main() { const int max_elem=20; int mas;
C++ алгоритм программы с потоками
Помогите пожалуйста написать алгоритм программы с потоками! Вот текст задания: В аудитории идет экзамен, на котором присутствуют 10 студентов (потоки) и преподаватель (поток). У студентов имеется две шпаргалки (разделяемые ресурсы), которые они передают друг другу в случайном порядке. Преподаватель читает газету и пытается уличить студентов в списывании, для чего через случайные промежутки...
C++ Игра Реверси http://www.cyberforum.ru/cpp-beginners/thread109634.html
Вечер добрый ) у меня к общественности большая просьба, без помощи настоящих программистов мне не обойтись... Суть дела вот в чем: у меня курсовик на тему: разработка игры "Реверси". Имеется код этой игры на С++. Я прошу помочь разобраться в каждой строке программы, ибо я полный нуб. И вообще самый первый вопрос: какой проект мне нужно создать, чтобы окно с игрой открылось? Вот сам код:...
C++ Перестановка элементов матрицы, симметричных относительно главной диагонали help >> Осуществить в исходной матрице Y пятого порядка перестановку элементов, симметричных относительно главной диагонали. подробнее

Показать сообщение отдельно
System16v
 Аватар для System16v
3 / 3 / 0
Регистрация: 19.02.2014
Сообщений: 115
26.03.2015, 16:54     Ханойские башни
А может кто пояснить сам принцип выведения на экран откуда и куда перекладывать? Поменял переменные,чтоб проще понимать было,и пытаюсь вникуть,но не могу понять смысл ,как происходит перебор?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream>
#include <cstdlib>
#include <string>
#include <math>
#include <iomanip>
 
using namespace std;
 
void bashnya(int n=3,int a=1,int b=3,int c=2);
// a - nachalnii stolbik; b - konechnii stolbik, c - promegytochnii stolbik
 
int main()
{
      int x;
      cout << "Vvedite kol-vo diskov: ";
      cin >>x;
      cout <<endl;
      bashnya(x,1,3,2);
      system("pause");
      return 0;
}
void bashnya(int n,int a,int b,int c)
{
  if(n!=0)
  {
   bashnya(n-1,a,c,b);
   cout << a << "->" << b <<endl;
   bashnya(n-1,c,b,a);
  }
}
Т.е. вызывается функция с начальными значениями(3-1,1,2,3) и на экран выводится значения а - 1 и b - 3,т.е. 1->3,а далее что происходит вообще не могу понять .Т.е. вызывается снова функция уже измененными значениями со значениями(3-1,2,3,1),потом снова вызывается (3-1,1,2,3),и каким образом cout выводит именно a - 1 и b - 2?? Откуда берет именно эти значения не пойму хоть тресни . Хотя я даже просто не понимаю что функция делает вообще когда вызывается??Ну вызвалась с параметрами,а что она делает то?
 
Текущее время: 07:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru