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

Лаба по рекурсиям - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Используя динамические массивы, обработать элементы одномерного массива http://www.cyberforum.ru/cpp-beginners/thread957424.html
. Дан массив целых чисел из n элементов. Выведите массив на экран. Найти произведение четных элементов, значения которых по модулю меньше 5. Найти количество тех элементов, значения которых нечетны и по модулю превосходят заданное число А. P.S. Помогите пожалуйста!
C++ Что такое перестановка ? Всем доброго времени суток. Есть задача 'Школьник В*** записал на доске N чисел и утверждает, что это перестановка чисел 1, 2, ..N, то есть эти и только эти числа, записанные в каком-то порядке. Прав ли он?" Выходные данные Для каждого из M тестов выведите ответ в отдельную строку. Ответ "Yes" означает, что данная последовательность является перестановкой, а "No", что не является. ... http://www.cyberforum.ru/cpp-beginners/thread957412.html
C++ Алгоритм и код программы решения уравнения Пуассона методом матричной прогонки
Объясните, пожалуйста алгоритм и код на Си++ задачи: ∂2P/∂x2+∂2P/∂y2=-f(x,y)
C++ Цикл: цикл for вообще никак не воспринимается транслятором
Пишу программу, которая производит различные действия с одномерным массивом. Возникла следующая проблема: цикл for вообще никак не воспринимается транслятором и я не знаю почему. Просто ни один for в программе не выполняется, все в функциях работает только до for, как только появляется этот цикл, происходит выход из функции :( Подскажите пожалуйста, как это исправить. #include <iostream>...
C++ С математикой плохо, не могу правильно построить выражение http://www.cyberforum.ru/cpp-beginners/thread957405.html
Привет всем, я новичёк в программировании изучаю практикум Павловской и Щупака структурное программирование. И на первом же задании заваливаюсь от невозможности правильно построить выражение. Вычисления выражений должны давать одинаковый ответ. #include <stdio.h> #include <math.h> int main()
C++ Оператор выбора: определить, буквой, цифрой или спецсимволом является введенный символ Написать программу, где ожидается ввод символа с клавиатуры, после чего определяется, является ли этот символ буквой, цифрой или специальным символом. Без свитча я реализовал вот ток теперь не пойму как сделать на свитч #include <iostream> #include <windows.h> #include <ctype.h> #include <stdio.h> using namespace std; int main() подробнее

Показать сообщение отдельно
Олексей
5 / 4 / 0
Регистрация: 05.04.2010
Сообщений: 259
24.09.2013, 20:40     Лаба по рекурсиям
Андрей Викторович, 1- посторонние фигуры , 2 - король, 3- конь и его ходы если он ставит шаг королю.

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include<iostream>
#include<time.h>
using namespace std;
 
int ctrl=0;
 
void massiv (int array [][8])
{
    for (int i=0; i<8; i++)
    {
        for (int j=0; j<8; j++)
        {
            cout<<array[i][j];
        }
        cout<<endl;
    }
}
 
int proverka (int n,int m, int doska [][8], int var)
{
    if (var<3)
    {
    int hodu [8][2]= {{1,-2},{1,2},{-1,2},{-1,-2},{2,-1},{2,1},{-2,-1},{-2,1}};
    int a, b;
 
        for (int i=0; i<8; i++)
    {
        if (ctrl==1)
        doska[n][m]=3;
 
        a=hodu[i][0];
        b=hodu[i][1];
        if (doska[n+a][m+b]==2&&n+a<8&&n+a>=0&&m+b<8&&m+b>=0)
        {
            doska[n][m]=3; return 1;
        }
 
        if (doska[n+a][m+b]==0&&n+a<8&&n+a>=0&&m+b<8&&m+b>=0)
        {
            ctrl=proverka(n+a, m+b, doska, var+1);
        }
 
    }
            
    }
    return 0;
}
 
int main ()
{
    srand(time(NULL));
    int doska [8][8];
    int n, m;
    int num;
    int k=0, h=0;
    
    for (int i=0; i<8; i++)
    {
        for (int j=0; j<8; j++)
        {
            doska[i][j]=0;
            num=rand ()%3;
            if (num==1&&k<1)
            {
                doska[i][j]=2;
                k++;
            }
            if (num==2&&h<1)
            {
                doska[i][j]=3;
                h++;
                n=i; m=j;
            }
            
            if (num==0)
                doska[i][j]=1;
        }
    }
    massiv (doska);
 
    int var=1;
    proverka(n, m, doska, var);
    cout<<endl;
 
    massiv(doska);
 
system("pause");
return 0;
}
С уважение студент ИКС, Алексей Поворознюк
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru