Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2011, 18:56   #1
KOPC1886
Пользователь
 
Регистрация: 28.10.2010
Сообщений: 26
Печаль Путешесвтие коня.

Я написал программу про ход коня. Мне надо доделать, если ход сделать нельзя, то выводил введите другое число и делал ход.
Код:
// Путешествие коня2.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
	setlocale (LC_ALL,"rus");
	const int size=8;
	const int size2=8;
	int turn=0;
	int x=0;
	int y=0;
	int k1=0;
	int k2=0;
	int h;
	int n=0;
	int troy [size][size2];
	
	for (int i=0;i<size;i++)
	{	cout <<endl;
		for (int r=0;r<size2;r++)
		troy[i][r]=-1;
	}
	
	troy[k1][k2]=0;
	
	do { 
		
	for (int i=0;i<size;i++)
	{for (int r=0;r<size2;r++)
			if(troy[i][r]==-1)
				cout <<setw(4)<<"* ";
			else
				cout <<setw(4)<<troy[i][r];
			cout <<endl;			
			
			
			
			
		}

	
	cout <<"Введите номер хода от 1 до 8 (0 и отрицательные числа для выхода) "<<"  ";
	cin >>n;
	cout<<endl;

		
	if (n==1)
	{
		x=2;
		y=1;
		h=1;

	}
	else if (n==2)
	{
		x=1;
		y=-2;
		h=3;
	}
	else if (n==3)
	{
		x=-1;
		y=-2;
		h=1;
	}
	else if (n==4)
	{
		x=-2;
		y=-1;
		h=3;
	}
	else if (n==5)
	{
		x=-2;
		y=1;
		h=-1;
	}
	else if (n==6)
	{
		x=-1;
		y=2;
		h=-3;
	}
	else if (n==7)
	{
		x=1;
		y=2;
		h=-1;
	}
	else if (n==8)
	{
		x=2;
		y=1;
		h=-3;
	}

		
		if (n!=0)
		{
		if(k1>-1 && k1<size && k2>-1 && k2<size2 && n!=0) 
		{
			troy[k1+=x][k2+=y]=++turn;
			
		}
		
		
		
	}
	
	

	}while (k1>-1 && k1<size && k2>-1 && k2<size2 && n!=0);
	
	
	
	return 0;
}

Последний раз редактировалось Stilet; 26.01.2011 в 08:03.
KOPC1886 вне форума Ответить с цитированием
Старый 26.01.2011, 18:36   #2
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

не понял вообще как тут связаны номера которые вводишь и куда идёт конь.
попробуй как то так

вместо
do {

...
} while (k1>-1 && k1<size && k2>-1 && k2<size2 && n!=0);



do {

if (неправильные данные) {
puts("нельзя так ходить");
continue;
};

if (условие выхода) break;

...
} while (1);
onewho вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Путешествие коня. Упрощенная версия. KOPC1886 Помощь студентам 1 17.01.2011 10:22
Путь коня. xaero93 Помощь студентам 4 28.11.2010 10:03
на шахматной доске заданы 2 клетки соедините эти 2 клетки кратчайшим путем коня Ker_33rus Общие вопросы C/C++ 5 18.03.2010 12:25
Две проги. Порезка труб и движения коня по шахматной доске. По какому принципу работают такие проги? sadf Общие вопросы C/C++ 4 06.03.2010 20:04