serg1976g
?>

Здача С++ Точка и выпуклый многоугольник Для заданных выпуклого многоугольника и точки нужно определить, принадлежит точка многоугольнику или нет. Формат входных данных Входные данные содержат целое число N (N ≤ 1000), далее следует N пар целых чисел, содержащих координаты вершин многоугольника (X, Y) в порядке обхода против часовой стрелки. Следующая строка содержит два целых числа - координаты заданной точки. Все координаты лежат в интервале -1000 ≤ X, Y ≤ 1000. Формат результата Выведите "INSIDE", если точка находится внутри многоугольника, "ON BORDER", если точка расположена на его стороне, или "OUTSIDE", если точка не принадлежит многоугольнику. Примеры Входные данные 4 4 0 4 4 0 4 0 0 2 2 Результат работы INSIDE Входные данные 3 0 0 2 0 1 1 -2 -2 Результат работы OUTSIDE

Информатика

Ответы

fshevxuzheva313

#include <iostream.h>

 

bool amafree(float x1, float x2, float x3, float x4, float y1, float y2, float y3, float y4, float dotx, float doty)

 

{float x[4],y[4],temp;

for(int i=0;i<4;i++)

for(int j=0;j<3;j++)

{

       if(x[j]<x[j+1])

       {

                    temp=x[j];

                    x[j]=x[j+1];

                    x[j+1]=temp;  

                    temp=y[j];

                    y[j]=y[j+1];

                    y[j+1]=temp;  

                      }

       }

 

if (y[2]<y[3]) {temp=x[2];

                    x[2]=x[3];

                    x[3]=temp;  

                    temp=y[2];

                    y[2]=y[3];

                    y[3]=temp;  }//теперь мы упорядочили точки прямоугольника, чтобы понимать его как у меня на рисунке

    x1=x[0];

    x2=x[1];

    x3=x[2];

    x4=x[3];

    y1=y[0];

    y2=y[1];

    y3=y[2];

    y4=y[3];//так мне удобнее, потому что часть условий уже написал без всяких массивов

     

    float k[10];

    k[0]=(x1-x2)/(y1-y2);

    k[1]=(x1-x3)/(y1-y3);

    k[2]=(x3-x4)/(y3-y4);

    k[3]=(x2-x4)/(y2-y4);//коэффициенты прямых, проходящих по сторонам прямоугольника

 //   if(k[0]!=k[2]||k[1]!=k[3]) {cout<<"Eto dazhe ne parallelogramm\n";return false;}//условие параллельности противолежащих сторон

  //   if(k[0]!=1/k[1]||k[2]!=1/k[3]) {cout<<"Eto dazhe ne pryamougolnik\n";return false;}//условие перпендикулярности смежных сторон

    if(dotx<x[1])&&(dotx<x[2])&&(dotx<x3)&&(dotx<x4)||(doty<y1)&&(doty<y2)&&(doty<x3)&&(doty<x4)||//лежит точно вне

    (dotx>1)&&(dotx>x2)&&(dotx>x3)&&(dotx>x4)||(doty>y1)&&(doty>y2)&&(doty>x3)&&(doty>x4)||//лежит точно вне

    (dotx>x1)&&(dotx<x2)&&(dotx<x3)&&(dotx<x4)&&(doty-k[0]*dotx<0)||//нижний левый треугольник

    (dotx>x1)&&(dotx<x2)&&(dotx<x3)&&(dotx<x4)&&(doty-k[1]*dotx>0)||//верхний левый

    (dotx>x1)&&(dotx<x2)&&(dotx<x3)&&(dotx<x4)&&(doty-k[2]*dotx>0)||//верхний праввый

    (dotx>x1)&&(dotx<x2)&&(dotx<x3)&&(dotx<x4)&&(doty-k[3]*dotx<0)//нижний правый

    return false;

    return true;

    }

ismailovi670771
2) Все записи в базе данных имеют:
Если здесь вопрос понимать "Все записи в таблице реляционной БД имеют", то ответ, скорее всего, 
d) Одинаковое количество полей

3) Укажите правильную последовательность действий при работе с базами данных (составить последовательность из букв):
c) Продумать структуру базы данных 
d) Дать имя каждому полю в базе данных
a) Занести данные в таблицу
b) Осуществить сортировку записей в базе данных

4) Поиск информации– это:
a) выбор информации по определённым правилам

5) Примером базы данных может служить:
Скорее всего
b) Телефонный справочник,
хотя и 
c) Энциклопедия тоже может быть

6) В каком из перечисленных типов полей, данные могут выглядеть таким образом: 
Да или Нет ?
b) В логическом поле

7) В какой из перечисленных пар данные относятся к одному типу?
a) 12.04.98 и 01/02/99;  - тип дата
b) ДА и TRUE (ИСТИНА);  - логический тип

8) База Данных содержит информацию о каждой собаке из клуба собаководства: кличка, порода, дата рождения, пол, количестве медалей. Какого типа должны быть поля?
d) текстовое, текстовое, дата, текстовое, числовое;

Возможно, такие ответы. Хотя многие вопросы некорректны.
stsnab
Const
 n = 20;

var
 pos,neg: integer;
 i,k,x: integer;
 ev,un: integer;
 a,b: array [1..n] of integer;

begin
 for i := 1 to n do
   read(a[i]);
  k := 0;
 pos := 0;
 neg := 0;
  for i := 1 to n do
   begin
      ev := 0;
   un := 0;
      x := a[i];
      if x <> 0 then
     if x > 0 then
       if (x < pos) or (pos = 0) then
         pos := x
       else
     else
       if (x > neg) or (neg = 0) then
         neg := x;
      x := abs(x);
      while x <> 0 do
     begin
     if odd(x) then
       un := un + 1
     else
       ev := ev + 1;
     x := x div 10
     end;
      if un = ev then
     begin
     k := k + 1;
     b[k] := a[i]
     end
      end;

 writeln(pos,' ',neg);
 for i := 1 to k do
   write(b[i],' ')
 end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Здача С++ Точка и выпуклый многоугольник Для заданных выпуклого многоугольника и точки нужно определить, принадлежит точка многоугольнику или нет. Формат входных данных Входные данные содержат целое число N (N ≤ 1000), далее следует N пар целых чисел, содержащих координаты вершин многоугольника (X, Y) в порядке обхода против часовой стрелки. Следующая строка содержит два целых числа - координаты заданной точки. Все координаты лежат в интервале -1000 ≤ X, Y ≤ 1000. Формат результата Выведите "INSIDE", если точка находится внутри многоугольника, "ON BORDER", если точка расположена на его стороне, или "OUTSIDE", если точка не принадлежит многоугольнику. Примеры Входные данные 4 4 0 4 4 0 4 0 0 2 2 Результат работы INSIDE Входные данные 3 0 0 2 0 1 1 -2 -2 Результат работы OUTSIDE
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

IInessa44478
detymira
teya07
Baidina
Чечин-Павлова615
shmanm26
Dragun1684
kategar
Гаврилаш
Шеина
Середа-Сергеенков980
Vetroff-11
koam20167459
Galinova2911
fitzhu