М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
belikvlad14
belikvlad14
08.02.2022 19:21 •  Информатика

Даны числа x1,y,x2,y2,x3,y3.определите лежит ли точка (x1,y1) внутри или вне прямоугольника, стороны которого паралельны осям кординат,а противолежащие вершины имеют координаты (x2,y2,) и (x3,y3)

👇
Ответ:
danypapajoy8eeo
danypapajoy8eeo
08.02.2022
Заметим, что точка лежит внутри прямоугольника, если min(x2, x3) < x1 < max(x2, x3) и min(y2, y3) < y1 < max(y2, y3) (см. рисунок).
Поэтому поступим так: сначала переставим x2 и x3, чтобы x2 стало меньше x3, потом повторим с y2 и y3, чтобы было y2 < y3. Затем можно проверять, что x2 < x1 < x3 и y2 < y1 < y3.
Точка попадёт на границу, если x1 = x2 или x3, а y1 = y2 или y3. Если оба условия не выполнены, то точка лежит вне прямоугольника.
Код (Паскаль):
var
  x1, y1, x2, y2, x3, y3, temp: real;

begin
  write('Координаты точки: '); readln(x1, y1);
  write('Координаты первой вершины: '); readln(x2, y2);
  write('Координаты второй вершины: '); readln(x3, y3);
  if x2 > x3 then begin
    temp := x2; x2 := x3; x3 := temp;
  end;
  if y2 > y3 then begin
    temp := y2; y2 := y3; y3 := temp;
  end;

  if (x2 < x1) and (x1 < x3) and (y2 < y1) and (y1 < y3) then
    writeln('Точка внутри прямоугольника')
  else if ((x1 = x2) or (x1 = x3)) and ((y1 = y2) or (y1 = y3)) then
    writeln('Точка на границе прямоугольника')
  else
    writeln('Точка вне прямоугольника');
end.

Можно заменить проверки на такие: если min(x2, x3) < x1 < max(x2, x3), то среди разностей x1 - x2 и x1 - x3 одна положительная, а другая отрицательная. Тогда (x1 - x2)(x1 - x3) < 0. Следовательно, можно проверить только, что  (x1 - x2)(x1 - x3) < 0 и (y1 - y2)(y1 - y3) < 0. В случае, когда точка лежит на границе, оба произведения равны нулю.
В моей программе произведения записаны в переменные x1 и y1.
Код (Паскаль):
var
  x1, y1, x2, y2, x3, y3: real;

begin
  write('Координаты точки: '); readln(x1, y1);
  write('Координаты первой вершины: '); readln(x2, y2);
  write('Координаты второй вершины: '); readln(x3, y3);
  x1 := (x1 - x2) * (x1 - x3);
  y1 := (y1 - y2) * (y1 - y3);

  if (x1 < 0) and (y1 < 0) then
    writeln('Точка внутри прямоугольника')
  else if (x1 = 0) and (y1 = 0) then
    writeln('Точка на границе прямоугольника')
  else
    writeln('Точка вне прямоугольника');
end.
Даны числа x1,y,x2,y2,x3,y3.определите лежит ли точка (x1,y1) внутри или вне прямоугольника, стороны
4,6(5 оценок)
Открыть все ответы
Ответ:
darvin1145
darvin1145
08.02.2022

ответ:#include <iostream>

using namespace std;

void myFunc(int k) {

bool flag = true;

for(int i=2; i<k; i++)

{

 if(k%i==0)

 {

  flag = false;

 }

 

}

if(flag==true)

{

 cout<<"Yes"<<endl;

}

else

{

 cout<<"No"<<endl;

}

}

int main(int argc, char** argv) {

int a;

cout<<"Input a: ";

cin>>a;

myFunc(a);

return 0;

}

Объяснение: Создаем функцию которая ничего не возвращает, она принимает аргумент К. Это и есть число какое будем вводить. Создаем буллевую переменную. Делаем цикл с числа 2. Т.к 1, 2 простые. Смысла проверять нет. Если остатка от деления числа К на І не будет - значит оно не простое. Далее проверяем наш flag, main думаю понятно

P.S: Если не там Yes или No просто поменяй их текст

4,7(36 оценок)
Ответ:
ulagrac8
ulagrac8
08.02.2022

Если текущее число равно n, то последняя цифра в нем - остаток от деления на 10. В цикле проверяем, если последняя цифра числа 8, то увеличиваем переменную-счетчик восьмерок. После этого отбрасываем последнюю цифру. В конце полученное количество умножаем на 1000 и выводим на экран.

Код (C++):

#include <iostream>

int main() {

 int n, count = 0;

 std::cin >> n;

 while (n > 0) {

     if (n % 10 == 8) count++;

     n /= 10;

 }

 std::cout << count * 1000;

}

Пример ввода:

88880

Пример вывода:

4000

4,6(96 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ