Задача про ладью

ванмомас намбаван
Дата: 12.04.2015 14:00:43
Есть доска 8 на 8.Даны координаты 5ти клеток(в формате x,y) и координата ладьи(в формате x,y).Вывести те клетки в которые она может ходить.Ходит сколько хочет вперед,назад ,влево и вправо
Вообщем сделал так(с помощью матрицы ибо она у меня в шаблонах уже есть) ,но на некоторых тестах проверочной системы запарывается(хотя на домашнем компе все идеально).Может кто укажет что не так?
#include <iostream>
#include <stdio.h>


using namespace std;

int main()
{
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
	bool a[8][8]={0};
	int  v[8][2];
	int i, j, n,m, count = 0;
  
	int k = 0;
	for (int i = 0; i<5; ++i)
	{
		for (int j = 0; j<2; ++j)
		{
			cin >> v[i][j];
			if (j==1)
			{
			int aa=v[i][j]-1,aa1=v[i][j-1]-1;
            a[aa1][aa]=1;
			
			}
		}
		
	}

	int l,g;
	cin>>l>>g;
   for (int i=0;i<8;++i)
   {
	   for (int j=0;j<8;++j)
	   {
		   if((a[i][j]==1)&&((i==l-1)||(j==g-1)))
		   {
			   cout<<i+1<<' '<<j+1<<' ';
		   }
	   }
   }
	

	return 0;
}
ванмомас намбаван
Дата: 12.04.2015 14:01:48
И да если кто то в коде что то не поймет то напишите я коменты допишу
ванмомас намбаван
Дата: 12.04.2015 14:59:48
Вот нью вершон,но почему-то тоже не робит...
#include <iostream>
#include <stdio.h>

using namespace std;


  int main()
  {
	  freopen("input.txt","r",stdin);
	  freopen("ouput.txt","w",stdout);
	  int a[5][2]={0};
	  int n,m;
	  for (int i = 0 ; i < 5;++i)
	  {
		  for (int j = 0 ; j<2;++j)
		  {
			  cin>>a[i][j];
          }
      }

	  cin>>n>>m;
	  for(int i=0;i<5;++i)
	  {
		  if ((a[i][0]==n)||(a[i][1]==m))
			  cout<<a[i][0]<<' '<<a[i][1]<<' ';
	  }

  }
PascalDeathe
Дата: 12.04.2015 15:46:41
К сожалению я не силен в Си, но судя по вашей задаче Вам нужно вывести все точки где X совпадает с координатой Х ладьи и соответственно для Y. Для этого достаточно одного цикла, в котором вы один раз пройдете по всему массиву, сделав 1 проверку:

Если (Xточки = Xладьи) ИЛИ (Yточки = Yладьи) То точка подходит и её координаты нужно вывести.
Dimitry Sibiryakov
Дата: 12.04.2015 16:01:41

ванмомас намбаван
Есть доска 8 на 8.Даны координаты 5ти клеток(в формате x,y) и
координата ладьи(в формате x,y).Вывести те клетки в которые она может ходить.Ходит сколько
хочет вперед,назад ,влево и вправо

Вместо этой бредовой отсебятины, ты бы лучше дал ссылку на исходное задание. А то
совершенно непонятно зачем даны пять клеток.

Posted via ActualForum NNTP Server 1.5

PascalDeathe
Дата: 12.04.2015 16:05:43
Dimitry Sibiryakov
ванмомас намбаван
Есть доска 8 на 8.Даны координаты 5ти клеток(в формате x,y) и
координата ладьи(в формате x,y).Вывести те клетки в которые она может ходить.Ходит сколько
хочет вперед,назад ,влево и вправо

Вместо этой бредовой отсебятины, ты бы лучше дал ссылку на исходное задание. А то
совершенно непонятно зачем даны пять клеток.

))) Пять клеток даны для того что бы программа выдала в какие из этих пяти клеток может сходить фигура "ладья"
PascalDeathe
Дата: 12.04.2015 16:06:49
Грамотно составленное Техническое Задание - это 50% сделанной работы...
Dimitry Sibiryakov
Дата: 12.04.2015 16:24:53

PascalDeathe
Пять клеток даны для того что бы программа выдала в какие из этих пяти
клеток может сходить фигура "ладья"

Это было бы слишком просто.

Posted via ActualForum NNTP Server 1.5

PascalDeathe
Дата: 12.04.2015 16:32:08
Dimitry Sibiryakov
PascalDeathe
Пять клеток даны для того что бы программа выдала в какие из этих пяти
клеток может сходить фигура "ладья"

Это было бы слишком просто.


Так это задача 9-го класса... по бейсику.... Или я не прав?
Dima T
Дата: 12.04.2015 16:37:11
PascalDeathe
Или я не прав?

Судя по input.txt, output.txt скорее всего отсюда