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

Программа обхода конем шахматной доски -рекурсией с++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка инициализации bool*** http://www.cyberforum.ru/cpp-beginners/thread683323.html
Я, похоже, совершенно не разбираюсь в указателях, так что еще один глупый вопрос: где ошибка? bool*** result_array = new bool**; for(int sch = 0; sch < n; sch ++){ **result_array = new bool*; for(int sch2 = 0; sch2 < n; sch2 ++){ *result_array = new bool; } } n и t - заданные размеры массива
C++ Сортировка списка Здравствуйте!!! Прошу помочь мне написать алгоритм сортировки односвязного списка. Задание такое: необходимо из элементов трёх списков создать новый список, так чтобы он был упорядочен. Новый список я создал, но отсортировать не знаю как: #include "stdafx.h" #include <list> #include "iostream" #include <stdio.h> #include <conio.h> #include<iostream> http://www.cyberforum.ru/cpp-beginners/thread683261.html
Разность дат C++
Напишите плиз кодом разность дат от текущей даты и задаваемой! Заранее спасибо!
Определить количество элементов матрицы, содержащих простые числа C++
Помогите пожалуйста с заданием: Дана целочисленная прямоугольная матрица. Написать программу, определяющую количество элементов матрицы, содержащих простые числа. Конкретно мне не понятно как записать в программе простые числа.
C++ Рассчитать значение функции f(x) по соответствующей формуле http://www.cyberforum.ru/cpp-beginners/thread683223.html
Составьте программу, которая принимает от пользователя значение x и в зависимости от его значения, рассчитывает значение функции f(x) по соответствующей формуле. Проверка того, что функция не определена при введенном значении х, не обязательна
C++ Реализовать класс с двумя скрытыми полями first и second В с++ только начал разбираться, прошу помощи в решении задач. Задание: ООП – Задание № 1 Реализовать класс с двумя скрытыми полями first и second. Во классе должны при- сутствовать следующие методы: – методы задания значений SetFirst и SetSecond. Методы должны контролировать значения аргументов на корректность; – методы возврата данных GetFirst и GetSecond; – вывод на экран текущих... подробнее

Показать сообщение отдельно
Lokomoss
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 55
29.10.2012, 14:47     Программа обхода конем шахматной доски -рекурсией с++
Пока писала ,наделала кучу ошибок. Компилятор сильно ругается. Понятия не имею,что ему не нравится. Везде пишет,что не объявлены переменные. Странно.Кто поможет разъяснить,что там не так и подправить в самой программе.Была бы очень благодарна
Код
#include <stdio.h>
#include <stdlib.h>
const n=8;
int x[n*n+1];
int y[n*n+1];
bool r[n*n+1];
double c;
int u;
void chess(int k){
 	c++;
	if(k==n*n) print();
	if((r[n*x[k]+y[k]+2]==false)&&(x[k]<=n-1)&&(y[k]<=n-2)){
		r[n*x[k]+y[k]+2]=true;
		x[k+1]=x[k]+1;
		y[k+1]=y[k]+2;
		chess(k+1);
		}
	if((r[n*(x[k]+1)+y[k]+1]==false)&&(x[k]<=n-2)&&(y[k]<=n-1)){
		r[n*(x[k]+1)+y[k]+1]=true;
		x[k+1]=x[k]+2;
		y[k+1]=y[k]+1;
		chess(k+1);
		}
	if((r[n*x[k]+y[k]-2]==false)&&(x[k]<=n-1)&&(y[k]>=2)){
		r[n*x[k]+y[k]-2]=true;
		x[k+1]=x[k]+2;
		y[k+1]=y[k]-1;
		chess(k+1);
		}
	if((r[n*x[k]+y[k]-2]==false)&&(x[k]<=n-1)&&(y[k]>=3)){
		r[n*x[k]+y[k]-2]=true;
		x[k+1]=x[k]+1;
		e[k+1]=y[k]-2;
		chess(k+1);
		}
	if((r[n*(x[k]-2)+y[k]-2]==false)&&(x[k]>=2)&&(y[k]>=3)){
		r[n*(x[k]-2)+y[k]-2]=true;
		x[k+1]=x[k]-1;
		y[k+1]=y[k]-2;
		chess(k+1);
		}
	if((r[n*(x[k]-3)+y[k]+1]==false)&&(x[k]>=3)&&(y[k]>=2)){
		r[n*(x[k]-2)+y[k]+1]=true;
		x[k+1]=x[k]-2;
		y[k+1]=y[k]-1;
		chess(k+1);
		}
	if((r[n*(x[k]-3)+y[k]+1]==false)&&(x[k]>=3)&&(y[k]<=n-1)){
		r[n*(x[k]-2)+y[k]+1]=true;
		x[k+1]=x[k]-2;
		y[k+1]=y[k]+1;
		chess(k+1);
		}
	if((r[n*(x[k]-2)+y[k]+2]==false)&&(x[k]>=2)&&(y[k]<=n-2)){
		r[n*(x[k]-2)+y[k]+2]=true;
		x[k+1]=x[k]-1;
		y[k+1]=y[k]+2;
		chess(k+1);
		}
	r[n*(x[k]-1)+y[k]]=false;
	x[k]=1;
	y[k]=0;
	c++;
	}
	void print(){
		int i;
		u++;
		for(i=1;i<=n*n;i++) printf("%lf %lf\n",x[k], y[k]);
		}
	void input(){
	int x0;
	int y0;
	printf("x0=%lf\n",&x0);
	printf("y0=%lf\n",&y0);
	for(i=0;i<=n*n;i++){
		x[k]=1;
		y[k]=0;
		}
	x[1]=x0;
	y[1]=y0;
	for(i=0;i<=n*n;i++) r[k]=false;
	}
int main(void){
	input();
	u=0;
	c=0;
	print();
	r[n*(x[1]-1)+y[1]]=true;
	chess(1);
	if(u==0) printf("resheniy net");
	return 0;
	}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru