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

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

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

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

12.01.2011, 21:36. Просмотров 2760. Ответов 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++
Я вообще форумов не люблю, стараюсь находить все сам исходя из уже поставленных вопросов и написаных ответов. Но тут особый случай... ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,361
14.01.2011, 02:00  [ТС] #2
Люди неужели не кому подсказать че дальше делать?????
1
knofl
19 / 19 / 1
Регистрация: 05.04.2010
Сообщений: 122
14.01.2011, 13:15 #3
Я на 2-ом курсе полностью играбельные шахматы писал, а сейчас переделываю и для тебя есть ответ:
Только здесь логика другая=( Здесь нужно сделать всё как в простых шахматах, но с одним но оценивать ход надо по количеству ходов до того момента как на доске не станет вражеских фигур. Я чуть подумаю, к вечеру скину код, возможно даже рабочий=)
1
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,361
14.01.2011, 17:00  [ТС] #4
очень буду ждать а то сам с места не сдвинусь
1
apachan
13 / 13 / 2
Регистрация: 07.12.2010
Сообщений: 127
14.01.2011, 17:07 #5
Тоже хотел бы глянуть на код шахмат
1
knofl
19 / 19 / 1
Регистрация: 05.04.2010
Сообщений: 122
14.01.2011, 17:46 #6
ЭЭ только если что без обид - у меня тогда баги странные были, и я сними так и не справился поэтому переделываю.
Отдельно выложу код шахмат в целом и примерно мысли о том как нужно модифицировать некоторые части кода.
1
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,361
14.01.2011, 18:17  [ТС] #7
ждемс!!!
1
knofl
19 / 19 / 1
Регистрация: 05.04.2010
Сообщений: 122
14.01.2011, 22:49 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Mmain.rar
Это код шахмат. Код был написан на первом семестре второго курса, так что выглядит не оч, но всё очень хорошо закомментировано - у меня курсовик это был. Отлажен правда код не до конца - есть ошибки, правда мне их тогда простили;-) Так что можно понять хотя бы суть. К сожалению кода нового написать под Вашу проблему не успел и до завтрашнего вечера на вряд ли успею - дела, но скажу мысль - в функции оценки хода надо оцениватьне позицию и сумму весов фигур, а количество фигур, которые остались и каким-то образом вычислить расстояние до оставшихся фигур - вот идея, код если можете сами напишите, ну к завтрашнему вечеру я сам постараюсь.
5
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,361
14.01.2011, 23:49  [ТС] #9
Не удобно просить на самом деле, но очень хочеться чтобы сделали это задание. А то мне тут еще кучу лабороторных надо сделать. полный завал. Но выражаю вам огромную благодарность за то что уже откликнулись. СПАСИБО!!!

Добавлено через 5 минут
А у меня русские буквы не показывает каракули
1
knofl
19 / 19 / 1
Регистрация: 05.04.2010
Сообщений: 122
15.01.2011, 00:29 #10
Странно=( У Вас Линукс? Если так то есть некоторые проблемы я тода писал тока под виндой и для винды... В visual studio точно работает русский.
В ворде тоже могу скинуть отчёт там ваапще всё расписано.
1
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,361
15.01.2011, 00:38  [ТС] #11
я тоже в visual studio пишу в windows Xp скомпелировалось все хорошо но каракули вместо русского текста, но это ни чего как руские буквы выводить я знаю, А отчет было бы не плохо.(эх а если бы прям по заданию так это было бы чудо!!!)

Добавлено через 2 минуты
Кстати хочу сказать так к слову, хоть и на форуме много людей. А таких как вы тоесть таких которые реально пытаються помочь маловато!!! я только 3 знаю с вами 4
0
knofl
19 / 19 / 1
Регистрация: 05.04.2010
Сообщений: 122
15.01.2011, 00:40 #12
Отчёт.7z
Вот архив с отчётом - всё подробненько.
1
knofl
19 / 19 / 1
Регистрация: 05.04.2010
Сообщений: 122
15.01.2011, 00:44 #13
SergProgC++, Может я просто добрый и стараюсь быть не жадным=) Но не расходитесь, после определённого момента я могу закрыть доступ к своим знаниям=)

Чтобы так сказать прощупать вопрос глубже есть книженция одна она мне сильно помогла:
Автор: Евгений Корнилов
Название: Программирование Шахмат и других логических игр
0
SergProgC++
Эксперт GPSS
315 / 317 / 59
Регистрация: 02.07.2010
Сообщений: 1,361
15.01.2011, 01:07  [ТС] #14
Цитата Сообщение от knofl Посмотреть сообщение
Чтобы так сказать прощупать вопрос глубже есть книженция одна она мне сильно помогла:
Автор: Евгений Корнилов
Название: Программирование Шахмат и других логических игр
есть такая книга но я там не нашел то что мнебы помогло. Проблемма не в том что я не могу понять как реализовать а проблемма в том что не погу понять что нужно реализовывать и в какой последовательности. (Извиняюсь если что не так и за настойчивость)

Добавлено через 14 минут
что то архив не открываеться, все у меня не ладно
0
knofl
19 / 19 / 1
Регистрация: 05.04.2010
Сообщений: 122
15.01.2011, 01:09 #15
Когда читал эту книгу та же проблема была=)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2011, 01:09
Привет! Вот еще темы с ответами:

Шахматы: Может ли слон побить слона? - 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++
Здравствуйте, уважаемые программисты! помоги пожалуйста решить задачку на Паскале. Условие задачи - Требуется определить, бьет ли конь,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.01.2011, 01:09
Ответ Создать тему
Опции темы

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