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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 01.04.2010, 17:47   #1
Владимир_король
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 16
Восклицание Задача в Turbo-Pascal

помогите решить задачу в Turbo-Pascal.
Вот условия:

Даны действительные числа x и y, определить принадлежит ли точка с координатами следующей области: параллелограмм с координатами вершин
(-0.5;0) (0;1) (0.5;0) (0;-1).

Заранее спасибо большое!!!

Последний раз редактировалось Rembo; 02.04.2010 в 09:19.
Владимир_король вне форума
Старый 01.04.2010, 17:58   #2
Google2010
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 316
По умолчанию

готов помочь! icq: 553-566-17[девять] ! недорого!
Google2010 вне форума
Старый 01.04.2010, 18:48   #3
Владимир_король
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Google2010 Посмотреть сообщение
готов помочь! icq: 553-566-17[девять] ! недорого!
а че бескорыстно нельзя помочь с одной задачкой?
Владимир_король вне форума
Старый 01.04.2010, 19:22   #4
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

Если еще нужно то у меня код завалялся:
Код:
type
 TPoint=record
        x,y:Real;
        end;
 TPol=array [0..3] of TPoint;

var n:integer;
    Pol:TPol;       //массив, хранящий координаты параллелограмма
    x, y:Real;      //координаты точки
    flag:Boolean;

function InPoly(xp,yp:Real; kol:integer):boolean;
var i,j:integer;
    flag:boolean;
begin
 flag:=false;
 i:=0;
 j:=kol-1;
 while i<kol do
  begin
   if ((((Pol[i].Y<=yp)and(yp<Pol[j].Y))or((Pol[j].Y<=yp)and
    (yp<Pol[i].Y)))and(xp>(Pol[j].X-Pol[i].X)*(yp-Pol[i].Y)/
    (Pol[j].Y-Pol[i].Y)+Pol[i].X))
     then flag:=not flag;
   j:=i;
   inc(i);
  end;
 InPoly:=flag;
end;

begin

    n := 4;    //Кол-во точек (параллелограм = 4)
    // Заполнения массива точек параллелограмма значениями
    Pol[0].x := -0.5; Pol[0].y := 0;
    Pol[1].x := 0;    Pol[1].y := 1;
    Pol[2].x := 0.5;  Pol[2].y := 0;
    Pol[3].x := 0;    Pol[3].y := -1;
    Writeln('Vvedite tochku (x y): ');   // ввод координат точки
    Read(x); Readln(y);
    flag := InPoly(x, y, n);
    if flag then Writeln('Vhodit!!!')
     else Writeln('Ne vhodit!!!');
    Readln;

end.
D61C76h вне форума
Старый 01.04.2010, 22:23   #5
Владимир_король
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 16
Хорошо

Цитата:
Сообщение от D61C76h Посмотреть сообщение
Если еще нужно то у меня код завалялся:
Код:
type
 TPoint=record
        x,y:Real;
        end;
 TPol=array [0..3] of TPoint;

var n:integer;
    Pol:TPol;       //массив, хранящий координаты параллелограмма
    x, y:Real;      //координаты точки
    flag:Boolean;

function InPoly(xp,yp:Real; kol:integer):boolean;
var i,j:integer;
    flag:boolean;
begin
 flag:=false;
 i:=0;
 j:=kol-1;
 while i<kol do
  begin
   if ((((Pol[i].Y<=yp)and(yp<Pol[j].Y))or((Pol[j].Y<=yp)and
    (yp<Pol[i].Y)))and(xp>(Pol[j].X-Pol[i].X)*(yp-Pol[i].Y)/
    (Pol[j].Y-Pol[i].Y)+Pol[i].X))
     then flag:=not flag;
   j:=i;
   inc(i);
  end;
 InPoly:=flag;
end;

begin

    n := 4;    //Кол-во точек (параллелограм = 4)
    // Заполнения массива точек параллелограмма значениями
    Pol[0].x := -0.5; Pol[0].y := 0;
    Pol[1].x := 0;    Pol[1].y := 1;
    Pol[2].x := 0.5;  Pol[2].y := 0;
    Pol[3].x := 0;    Pol[3].y := -1;
    Writeln('Vvedite tochku (x y): ');   // ввод координат точки
    Read(x); Readln(y);
    flag := InPoly(x, y, n);
    if flag then Writeln('Vhodit!!!')
     else Writeln('Ne vhodit!!!');
    Readln;

end.
спасибо огромное !!!!!!!!!!!
Владимир_король вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посмотрите на прогу я не знаю что уже делать(((( Krumyura Общие вопросы C/C++ 1 18.03.2010 22:37
не знаю как делать(Дано массив (X) размерностью n. lesh Фриланс 9 17.02.2010 19:44
Не знаю что мне делать с этой прогой.... D[I]K Общие вопросы C/C++ 2 27.09.2009 19:02
Не работает Filter. Не знаю, что делать...Т_Т Zerofill БД в Delphi 2 02.06.2009 21:23