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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.82
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,361
#1

Слон бьет врагов ??? - C++

12.01.2011, 21:36. Просмотров 2803. Ответов 40
Метки нет (Все метки)

Приветствую, всех! Кто то скажет опять эти шахматы, сам спекся когда получил задание. Но дорогие форумчани помогите с задание. Не понимаю даже с чего начать. Набрасал только начало,а дальше в ступоре
Задание следующее:
Найти возможные способы для удара слоном максимального количества вражеских фигур за N проходов исходя из определенного задаваемого поло-жения вражеских фигур, не изменяющих своего положения. Определить кратчайшие.
Вот что уже сделано:
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
90
91
92
93
94
95
96
97
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
#include <stdlib.h>
const n=9; // razmernost massiva
void Matr(char M[][n]);
void main()
 
{
 int s1,s2,e,E,i,j,Pause;
 char A[n][n];
 clrscr();
 
 /////////enter massiv
 for(i=1; i<n; i++)
  { for(j=1; j<n; j++)
 
    if ((i+j)%2==0)
    A[i][j]='\xDB'; else
    A[i][j]='\xB1';
  }
  Matr(A);
 
  //////// enter SLON//////////
 
  i=j=n;  // dlia vhoda v cikl
  while (i>8 || j>8 || i<1 || j<1)
  {
    cout<<"\nVvedite koordinaty Slona:\n";
    cout<<"Nomer stroki (1..8)="; cin>>i;
    cout<<"Nomer stolbca(1..8)="; cin>>j; cout<<"\n";
     if (i>8 || j>8 || i<1 || j<1)
     { cout<<"ERROR! Nedopustimoe polojenie!\n"; }
  }
 
   A[i][j]='\x06';
  //   s1=i;
  //   s2=j;
 
  //   for(i=1; i<n; i++)
  //   { for(j=1; j<n; j++)
 
  //     if (s1+s2==i+j && A[i][j]!='\x06')
  //     {A[i][j]='/';}
  //   }
  //    for(i=1; i<n; i++)
  //    { for(j=1; j<n; j++)
 
  //    if(s1-s2==i-j && A[i][j]!='\x06')
  //    {A[i][j]='\x5c';}
  //   }
 
  Matr(A);
 
  ////////// enter enemies/////////
 
 E=6; // dlia vhoda v cikl
 while (E>5 || E<1)
 {
 cout<<"\nVvedite kolichestvo Vragov (1..5):"; cin>>E;
 if (E>5 || E<1)
   { cout<<"ERROR! Nedopustimoe chislo vragov!\n"; }
 }
 for(e=1; e<=E; e++)
 {
 i=j=n;  // dlia vhoda v cikl
  while (i>8 || j>8 || i<1 || j<1 || A[i][j]=='\x06'|| A[i][j]=='\x78')
  {
  cout<<"\nVvedite koordinaty Vraga "<<e<<":\n";
  cout<<"Nomer stroki (1..8)="; cin>>i;
  cout<<"Nomer stolbca(1..8)="; cin>>j; cout<<"\n";
   if (i>8 || j>8 || i<1 || j<1 || A[i][j]=='\x06'|| A[i][j]=='\x78')
    { cout<<"ERROR! Nedopustimoe polojenie!\n"; }
  }
   A[i][j]='\x78';
 }
 Matr(A);
 
 cin>>Pause;
}  ////////////THE END/////////////////
 
 
 //Function vivod massiva
 void Matr(char M[][n])
 {
 int i,j;
 cout<<"    abcdefgh\n";
 for (i=1; i<n; i++)
  { cout<<"  "<<i<<" ";
  for (j=1; j<n; j++)
   {
     cout<<setw(1)<<M[i][j];
   } cout<<" "<<i;
   cout<<endl;
   }
  cout<<"    abcdefgh\n";
  }
Буду благодарен за любую помощь!!! ОООчень нужно.
2
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2011, 21:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Слон бьет врагов ??? (C++):

На шахматной доске стоят черный король и белые ладья и слон (ладья бьет по горизонтали и вертикали, слон – по - C++
Помогите решить проблему error C2668: fabs: неоднозначный вызов перегруженной функции На шахматной доске стоят черный король и белые...

На шахматной доске отметить все клетки, которые бьет слон - C++
Шахматная доска – игровое поле 8 × 8. Сформировать двумерный массив A – схематическое изображение доски, на котором отметить положение...

Составить и протестировать функцию БЬЕТ (К1, К2, КМ), которая проверяет, бьет ли карта К1 карту К2 - C++
Описать новый структурный тип. Описать требуемые в задаче функции для работы со структурами. Продемонстрировать выполнение функций. Для...

Слон - C++
Требуется определить, бьет ли слон, стоящий на клетке с указанными координатами (номер строки и номер столбца), фигуру, стоящую на другой...

Мухи и слон - C++
Написать программу которая решит задчу: МУХА+ МУХА+ МУХА= _____ СЛОН Каждая буква одначает свою цифру, т.е. при составление...

Вирус-слон - C++
Я вообще форумов не люблю, стараюсь находить все сам исходя из уже поставленных вопросов и написаных ответов. Но тут особый случай... ...

40
knofl
19 / 19 / 1
Регистрация: 05.04.2010
Сообщений: 122
19.01.2011, 22:37 #31
SergProgC++, Давай, давай - это полезно.
0
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,361
24.01.2011, 20:38  [ТС] #32
помогите доделать ну не как не догоняю!!!
0
knofl
19 / 19 / 1
Регистрация: 05.04.2010
Сообщений: 122
02.02.2011, 13:56 #33
SergProgC++, Ну дава, пиши что есть, подумаем. Главное ты понял, что для того чтобы всё заработало нужно последовательно сгенерить ходы, оценить каждый, выбрать один, сделать и так пока не съедим все фигуры, которые можем съесть.
0
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,361
02.02.2011, 15:07  [ТС] #34
Мне уже так все поставили но все равно спасибо за помощь
0
knofl
19 / 19 / 1
Регистрация: 05.04.2010
Сообщений: 122
02.02.2011, 16:24 #35
Ну и слава Богу=)
0
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,361
02.02.2011, 18:54  [ТС] #36
Если есть желание можешь реализовать!!! А то тема открытая остаеться и мне будет интересно глянуть как это должно было выглядеть
0
almazsr
232 / 169 / 7
Регистрация: 13.11.2010
Сообщений: 425
02.02.2011, 19:53 #37
knofl, а у меня комп не ходит(
0
knofl
19 / 19 / 1
Регистрация: 05.04.2010
Сообщений: 122
03.02.2011, 10:47 #38
TO ALL, В этом семе я новую версию шахмат фигачу, поэтому можно будет сделать реализацию в виде мода для шахмат, но это позже.

Добавлено через 3 минуты
almazsr, Странно всё это=( Ну ничего, ждите конца весны=) Там уже явно будет рабочий и хорошо оптимизированный код.
0
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,361
04.02.2011, 19:40  [ТС] #39
буду ждать с нетерпением хоть глазком бы глянуть
0
Chpoks
Сообщений: n/a
23.06.2012, 17:47 #40
Допелите пожауйста код до конца, очень уж нужно.
knofl
19 / 19 / 1
Регистрация: 05.04.2010
Сообщений: 122
23.06.2012, 23:55 #41
Да, пожалуй, всё же возьмусь за допиливание, последние года два времени не было как-то) Самому интересно.
0
23.06.2012, 23:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2012, 23:55
Привет! Вот еще темы с ответами:

Шахматы: Может ли слон побить слона? - C++
Вот это пример с ладьёй. #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; bool func(char *one, char *two) { ...

Бьет ли конь пешку? - C++
даны координаты коня и другой фигуры. вывести: бьет ли конь фигуру? как записать условие? вот что у меня получилось #include...

Бьет ли карта k1 карту k2 - C++
Здравствуйте, Господа эксперты! Прошу помощи в решении следующей задачи: struct card { /* масть карт */ enum {spades, clubs,...

Требуется определить, бьет ли конь - C++
Здравствуйте, уважаемые программисты! помоги пожалуйста решить задачку на Паскале. Условие задачи - Требуется определить, бьет ли конь,...


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

Или воспользуйтесь поиском по форуму:
41
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru