Задчка на С. Помогите плз.

Тема в разделе "Общие вопросы по С и С++", создана пользователем Mcicool, 27 апр 2006.

Статус темы:
Закрыта.
  1. Mcicool

    Mcicool Гость

    Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число - номер вертикали (при счете слева направо), второе - номер горизонтали (при счете снизу вверх). Даны натуральные числа k,l,m,n, каждое из которых не превосходит восьми. Требуется: На поле (k,l) расположен ферзь.
    Угрожает ли он полю (m,n) ??
     
  2. teolog

    teolog Гость

    bool IsDangerForThis(POINT kl,POINT mn)
    {
    POINT vect;
    vect.x=mn.x-kl.x;
    vect.y=mn.y-kl.y;
    if(vect.x==0 || vect.y==0 || abs(vect.x)==abs(vect.y)) //находятся на одной //прямой или диагонали
    {
    vect.x/=abs(vect.x);
    vect.y/=abs(vect.y);
    //направляющий вектор
    POINT tmp=kl;
    while(1)
    {
    tmp.x+=vect.x;
    tmp.y+=vect.y;
    if(tmp.x==mn.x && tmp.y==mn.y) return false;
    if(!IsEmpty(tmp)) return false; //проверяем пусто ли поле
    }

    return true;
    }


    return false;
    }
     
  3. Mcicool

    Mcicool Гость

    Спасибо, только вопрос: Какие тут библиотеки используются?
    Что такое bool??
    Что такое Point??
     
  4. Mcicool

    Mcicool Гость

    Хмм, кстати, мне же надо на чистом С, а bool это вроде из С++...
     
  5. Mcicool

    Mcicool Гость

    Ну как это сделать то? помогите плзз
     
  6. drSchur

    drSchur Гость

    :) :) :) :)
    Я фигею, такую элементарщину и не решить!
     
  7. Mcicool

    Mcicool Гость

    Код (Text):
    #include <stdio.h>
    #include <math.h>

    int main()
    {
    double k,l,m,n;

    printf("input k\n");
    scanf("%lf", &k);
    printf("input l\n");
    scanf("%lf", &l);
    printf("input m\n");
    scanf("%lf", &m);
    printf("input n\n");
    scanf("%lf", &n);

    if ((k-l==m-n)||(k==m)||(l==n)||(k+l==m+n))

    printf("Danger!!!!");
    else
    printf("No danger!");
    return 0;
    }
    Вот так вроде? Эту элементарщину я решил...
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей