Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 24.05.2009
Сообщений: 8
1

Разместить на шахматной доске максимальное количество слонов и ладьи так, чтобы они не были "под боем"

07.06.2009, 19:44. Показов 3543. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот задачка: Разместить на шахматной доске максимальное количество слонов и ладьи так, чтобы они не были "под боем". Есть код (не уверена, что правильный ). В конце выводится картинка: шахм. доска с размещенными на ней слонами и ферзями. Нужно сделать так чтобы выводились промежуточные ходы программы, хотя бы один-два. Не подскажете как? Заранее огромное спасибо!!!
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
int matr[8][8], f1[15], f2[15], s[8], t[8], slon, tura;
 
void Shahmatu(int,int);
 
void main(void)
{
    clrscr();
        for (int i = 0; i < 4; i++)
        for (int j = 0; j < 8; j++)
        {
            Shahmatu(i,j);
            Shahmatu(7-i,j);
 
        }
 
    printf("-------------------------\n");
    for (i = 0; i < 8; i++)
    {
        printf("-");
        for (int j = 0; j < 8; j++)
        {
            if (matr[i][j] == 0)    printf("  -");
            else if (matr[i][j] == 2)
            {
                printf(" T-");
                tura++;
            }
            else
            {
                printf(" C-");
                slon++;
            }
        }
        printf("\n-------------------------\n");
    }
    printf("-------------------------\n");
 
    printf("\nC - slon  %2d shtyk \nT - tyra    %2d shtyk\n",slon,tura);
        printf("-------------------------\n");
    getch();
 
}
 
void Shahmatu(int n, int m)
{
 
    if (f1[n+m] == 0 && f2[n-m+7] == 0)
    {
        if (s[n] != 2 && t[m] != 2)
        {
            f1[n+m] = 1;
            f2[n-m+7] = 1;
            s[n] = 1;
            t[m] = 1;
            matr[n][m] = 1;
        }
    }
    else
 
 
    if (s[n] == 0 && t[m] == 0)
    {
        if (f1[n+m] != 1 && f2[n-m+7] != 1)
        {
            f1[n+m] = 2;
            f2[n-m+7] = 2;
            s[n] = 2;
            t[m] = 2;
            matr[n][m] = 2;
 
        }
    }
 
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2009, 19:44
Ответы с готовыми решениями:

Разместить на шахматной доске минимальное количество слонов так, чтобы все фигуры противника находились "под боем"
На шахматной доске имеется N фигур противника. Разместить на ней минимальное количество слонов так,...

Разместить на доске минимальное количество слонов так чтобы все фигуры противника находились «под боем»
На шахматной доске имеется N фигур противника. Разместить на ней минимальное количество слонов...

Какое минимальное количество слонов можно расставить на шахматной доске так, чтобы они били все поле
Cлоники ограничение по времени на тест: 2 секунды ограничение по памяти на тест: 64 мегабайта...

Расположить на шахматной доске 12 коней так, чтобы все поля были под "боем"
Расположить на шахматной доске 12 коней так, чтобы все поля были под &quot;боем&quot;.

Рекурсия. Разместить на доске мин. количество коней так, чтобы все фигуры противника находились «под боем»
Здравствуйте прошу вашей помощи, нужно решить задачу. Буду очень благодарен. На шахматной доске...

0
07.06.2009, 19:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2009, 19:44
Помогаю со студенческими работами здесь

Разместить на шаxматной доске 2 ладьи так, чтобы они не угрожали друг другу
Разместить на шаxматной доске 2 башни так, чтобы они не угрожали друг другу. Найти все возможные...

На шахматной доске размером 4х4 клетки расставить 4 ладьи так, чтобы они не угрожали друг другу
На шахматной доске размером 4х4 клетки расставить 4 ладьи так, чтобы они не угрожали друг другу....

Расставить на шахматной доске 8 ферзей так, чтобы ни один из них не находился под боем другого
Задача: «Расставить на стандартной 64-клеточной шахматной доске 8 ферзей так, чтобы ни один из них...

На доске N*N необходимо расположить максимальное число слонов и ладей так, чтобы они не били друг друга...
Идей никаких у меня нет, а задачу сделать надо.... На доске N*N необходимо расположить...

Разместить на шахматной доске 8 тур так, чтобы они не угрожали друг другу
задача на двумерный масив и рекурсии Помогите написать программу: Разместить на шахматной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru