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

Функции. Рекурсия. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подскажите как делать,пожалуйста http://www.cyberforum.ru/cpp-beginners/thread394039.html
Вот задачка,сколько сижу думаю над ней,не понимаю=( 1)Соседями элементами Аij в матрице назовем элементы Аkl(внизу) c i-1<=k<=i+1,j-1<=l<=j+1, (k,l)<>(не равно)(i,j). Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной матрицы. Построить результат сглаживания заданной...
C++ Работа с файловой системой... Дискеты Доброго времени, возникла необходимость создать видимость пустой дискеты. В связи с чем 2 вопроса: - Возможно ли это с обратимостью? - Возможно ли это для флешки? И самое главное, что нужно почитать для этого. Просто раньше не приходилось решать задачи такого типа. http://www.cyberforum.ru/cpp-beginners/thread394036.html
C++ 3адачки (в виде фотографии)
Прошу решить задачи на с++... Тык Нужны 3,4,6,7,8,9,10,11,12 задачи. Благодарю вас за помощь, надеюсь поможете. Задания нужно сдать до 20 декабря, иначе не допустят к зачету >< ...
C++ Открыть файл, имя которого задается с клавиатуры. Переписать в другой файл только те строки, которые содержат заданное слово.
Открыть файл, имя которого задается с клавиатуры. Переписать в другой файл только те строки, которые содержат заданное слово. помогите написать программу. так сказать подстраховаться если что) а то не давно лабу не знал как сделать долго имелся на паре точнее на 3х парах буду признателен)
C++ галаксиан http://www.cyberforum.ru/cpp-beginners/thread394023.html
Добрый вечер, есть задача: написать упрощенную версию игры типа старого доброго "Галаксиана" (скриншот из игры в аттаче - общий смысл из него понятен). Что у меня есть на данный момент так это юнит, который имеет возможность передвигаться в горизонтальной плоскости (при нажатии клавиши экран очищается, юнит перерисовывается с новыми координатами). Далее хотел сделать в верхней части экрана панель...
C++ задачи C++ Пожалуйста помогите решить задачи!!!3 вариант подробнее

Показать сообщение отдельно
dickivs
 Аватар для dickivs
46 / 46 / 6
Регистрация: 25.11.2011
Сообщений: 267
30.11.2011, 14:08     Функции. Рекурсия.
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
using namespace std;
 
/* Максимальное число колец */
int st[4][64];   /* 1,2,3 - стержни */
int nr[4]; /* Число колец на стержнях */
int nmoves; /* Число перемещений */
/* ---------------------------------------------- 
Печать текущего расположения колец на стержнях 
---------------------------------------------- */
void print_st()
 
{
int i, j;
for(i = 1; i <= 3; i++) {
cout<<endl;
cout<<("| ");
 
for(j = 0; j < nr[i]; j++) cout<<st[i][j];
 
}
cout<<endl;
}
/* ------------------------------------
Установка начального положения колец 
/* ------------------------------------ */
void init(int nrings)
{
for(nr[1] = 0; nrings > 0; nr[1]++,nrings--)
st[1][nr[1]] = nrings;
/* Нанизали кольца на 1-й стержень */
nr[2] = nr[3] = 0;
/* Два других стержня пусты */
nmoves = 0;
print_st();
}
/* ----------------------------- 
Функция переносит одно кольцо 
со стержня n1 на стержень n2 
----------------------------- */
void move1(int n1, int n2)
{
st[n2][nr[n2]++] = st[n1][--nr[n1]];
//  sleep(1); /* Пауза в 1 секунду */
print_st(); /* Печать текущей позиции */
nmoves++;
}
/* ------------------------------------------------- 
Функция hanoi перемещает верхние nrings колец 
со стержня i1 на стержень i3, используя стержень 
i2 в качестве промежуточного. 1 <= i1,i2,i3 <= 3. 
------------------------------------------------- */
void hanoi(int nrings, int i1, int i2, int i3)
{
if(nrings == 1)
move1(i1, i3);
else {
hanoi(nrings-1, i1, i3, i2);
move1(i1, i3);
hanoi(nrings-1, i2, i1, i3);
}
}
void main()
{
int nrings;
cout<<"Number of rings: ";
cin>>nrings;
init(nrings);
hanoi(nrings, 1, 2, 3);
cout<<"End\n";
cout<<"Count of moves: "<<nmoves<<endl; 
 
}
 
Текущее время: 16:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru