• Здраво и добредојдовте на форумот на IT.mk.

    Доколку сеуште не сте дел од најголемата заедница на ИТ професионалци и ентузијасти во Македонија, можете бесплатно да се - процесот нема да ви одземе повеќе од 2-3 минути, а за полесна регистрација овозможивме и регистрирање со Facebook и Steam.

[C] Полиња од шаховска табла (матрици)

  • Ја почнал/а темата
  • #1

ace_paun

Intern
15 јануари 2008
16
0
Да се одредат сите полиња од шаховска табла, кои ги бие ловецот од полето (k,p), каде k и p се внесени преку тастатура
Ako ja znajt nekoj zadacava neka pomognit
 

Alexandar

Gaining Experience
21 мај 2007
2,514
90
Можни полиња се:
(k+1,p+2) ; (k+2,p-1) ; (k-1,p-2) ; (k-2,p+1)
(k-1,p+2) ; (k+2,p+1) ; (k+1,p-2) ; (k-2,p-1)

За да видиш кои од овие се точни ќе провериш услов дали вредностите на k и p припаѓаат на соодветните интервали.
 

StenmarC

Intern
16 април 2007
716
13
stenmarc.blog.com.mk
Можни полиња се:
(k+1,p+2) ; (k+2,p-1) ; (k-1,p-2) ; (k-2,p+1)
(k-1,p+2) ; (k+2,p+1) ; (k+1,p-2) ; (k-2,p-1)

За да видиш кои од овие се точни ќе провериш услов дали вредностите на k и p припаѓаат на соодветните интервали.
Oва е за коњ, а не за ловец :)
Ај ја ќе пробам да помогнам малце...

Код:
i=1;
while (((k+i) <=7) && ((p-i) >=0)))
{
  printf("red %d i kolona %d", k+i, p-i);
  i++;
}
i=1;
while (((k-i) >=0) && ((p-i) >=0)))
{
  printf("red %d i kolona %d", k-i, p-i);
  i++;
}
i=1;
while (((k-i) >=0) && ((p+i) <=7)))
{
  printf("red %d i kolona %d", k-i, p+i);
  i++;
}
i=1;
while (((k+i) <=7) && ((p+i) <=7)))
{
  printf("red %d i kolona %d", k+i, p+i);
  i++;
}
Матрицата ти е дефинирна со редови и колони од 0 до 7. Ова ми изгледа малце амалско решение, али мислам дека работи. Провери па кажи
 

Alexandar

Gaining Experience
21 мај 2007
2,514
90
Моја грешка, имам напишано за коњ наместо за ловец, не го дочитав прашањето, се извинувам на сите. Решението на StenmarC е точното.
 
  • Ја почнал/а темата
  • #9

ace_paun

Intern
15 јануари 2008
16
0
Oва е за коњ, а не за ловец :)
Ај ја ќе пробам да помогнам малце...

Код:
i=1;
while (((k+i) <=7) && ((p-i) >=0)))
{
  printf("red %d i kolona %d", k+i, p-i);
  i++;
}
i=1;
while (((k-i) >=0) && ((p-i) >=0)))
{
  printf("red %d i kolona %d", k-i, p-i);
  i++;
}
i=1;
while (((k-i) >=0) && ((p+i) <=7)))
{
  printf("red %d i kolona %d", k-i, p+i);
  i++;
}
i=1;
while (((k+i) <=7) && ((p+i) <=7)))
{
  printf("red %d i kolona %d", k+i, p+i);
  i++;
}
Матрицата ти е дефинирна со редови и колони од 0 до 7. Ова ми изгледа малце амалско решение, али мислам дека работи. Провери па кажи
ne be brat, pecatit nesto sosema drugo
 

Нови мислења

Последни Теми

Статистика

Теми
43,598
Мислења
824,339
Членови
28,092
Најнов член
mkcoach
На врв Дно