Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 26.11.2020
Сообщений: 25

Определить принадлежность точки замкнутой области

21.02.2024, 23:42. Показов 1701. Ответов 27
Метки #c++ (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Помогите с задачей плиз:

Составить структурированную программу и блок-схему к программе, в результате выполнения которой p=1, если точка М(х,y)
принадлежит заданной замкнутой области В, и р=0 в противном случае
Миниатюры
Определить принадлежность точки замкнутой области  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.02.2024, 23:42
Ответы с готовыми решениями:

Определить принадлежность точки заштрихованной области
По заданным координатам точки определить, где находится точка: 1) внутри заштрихованной области; 2) вне заштрихованной области; 3) на...

Определить принадлежность точки указанной области
Записать выражение, зависящее от координат точки X и Y и принимающее значение TRUE (t или 1), если точка принадлежит выделенной...

Определить принадлежность точки заштрихованной области
Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщ ений «Да», «Нет», «На границе» в...

27
Злостный нарушитель
 Аватар для Verevkin
10283 / 5707 / 1267
Регистрация: 12.03.2015
Сообщений: 26,435
22.02.2024, 00:06
Лучший ответ Сообщение было отмечено Volga_ как решение

Решение

C++
1
bool p = (x * y >= 0) && (x * x + y * y <= 1);
А блок-схему
1
Модератор
 Аватар для D1973
9912 / 6449 / 2455
Регистрация: 21.01.2014
Сообщений: 27,383
Записей в блоге: 3
22.02.2024, 08:50
Цитата Сообщение от Verevkin Посмотреть сообщение
x * x + y * y <= 1
???
Почему 1?
0
Злостный нарушитель
 Аватар для Verevkin
10283 / 5707 / 1267
Регистрация: 12.03.2015
Сообщений: 26,435
22.02.2024, 08:51
Цитата Сообщение от D1973 Посмотреть сообщение
???
Почему 1?
не знаю.
0
0 / 0 / 0
Регистрация: 26.11.2020
Сообщений: 25
23.02.2024, 14:07  [ТС]
Спасибо большое! Буду пробовать
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
24.02.2024, 09:01
Цитата Сообщение от D1973 Посмотреть сообщение
Почему 1?
Ну можно так:
C
1
bool p = (x * y >= (x*y)-(y*x)) && (x * x + y * y <= (x*y)/(y*x));
Все ведь знают, что волшебные числа - зло. Так вот, их тут нет!
0
Злостный нарушитель
 Аватар для Verevkin
10283 / 5707 / 1267
Регистрация: 12.03.2015
Сообщений: 26,435
24.02.2024, 09:05
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Ну можно так
Возможно деление на 0.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
24.02.2024, 23:03
Цитата Сообщение от Verevkin Посмотреть сообщение
Возможно деление на 0.
Невозможно, оно левой частью отсеется.
0
Злостный нарушитель
 Аватар для Verevkin
10283 / 5707 / 1267
Регистрация: 12.03.2015
Сообщений: 26,435
25.02.2024, 00:05
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Невозможно, оно левой частью отсеется.
При x = 0 или y = 0 левая часть станет равна true по операции >=. И будет задействована правая часть, где возникнет результат деления на 0, равный ±nan. Самое хреновое в этой ситуации - не возникнет исключения и программа продолжит работу. Полюбуйся.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#define BS(p) ((p) ? "TRUE" : "FALSE")
 
int main()
{
  double x = 1, y = 0;
  bool p1 = x * y >= (x*y)-(y*x);
  bool p2 = ((x * y) / (y * x)) <= x * x + y * y;
 
  std::cout << "y * x = " << (y * x) << '\n';
  std::cout << "(x * y) / (y * x) = " << (x * y) / (y * x) << '\n';
  std::cout << BS(p1) << " " << BS(p2) << " " << BS(p1 && p2);
  return 0;
}


Такие баги могут торчать в ПО годами и приводить к техногенным катастрофам и человеческим жертвам.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
25.02.2024, 00:29
Цитата Сообщение от Verevkin Посмотреть сообщение
по операции >=
Значит, заменить операцию на >. У ТСа все равно непонятно учитывать ли границу.
0
Злостный нарушитель
 Аватар для Verevkin
10283 / 5707 / 1267
Регистрация: 12.03.2015
Сообщений: 26,435
25.02.2024, 00:30
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Значит, заменить операцию на >. У ТСа все равно непонятно учитывать ли границу.
Тебя мой вариант чем не устраивает?
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
25.02.2024, 00:59
Меня?! Это ТСу чем-то не понравилась единица
0
Злостный нарушитель
 Аватар для Verevkin
10283 / 5707 / 1267
Регистрация: 12.03.2015
Сообщений: 26,435
25.02.2024, 01:00
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Это ТСу чем-то не понравилась единица
Разве?
1
Модератор
 Аватар для D1973
9912 / 6449 / 2455
Регистрация: 21.01.2014
Сообщений: 27,383
Записей в блоге: 3
25.02.2024, 06:55
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Это ТСу чем-то не понравилась единица
ТС-у сугубо фиолетово, это мне не понравилась единица. И не понравилась потому, что формула окружности с центром в начале координат выглядит так: x2 + y2 = R2, где R - радиус окружности. По чертежу же отчетливо видно, что радиус никак не равен 1. Или я не прав?
0
Злостный нарушитель
 Аватар для Verevkin
10283 / 5707 / 1267
Регистрация: 12.03.2015
Сообщений: 26,435
25.02.2024, 12:43
Цитата Сообщение от D1973 Посмотреть сообщение
радиус никак не равен 1. Или я не прав?
Огласите вашу версию, сер.
0
0 / 0 / 0
Регистрация: 26.11.2020
Сообщений: 25
25.02.2024, 13:05  [ТС]
Подскажите, а как мне ввести X и Y для проверки условия?


Вот такие ошибки выдаёт, не понимаю почему

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
   
main.cpp:4:11: error: 'x' was not declared in this scope
    4 | bool p = (x * y >= 0) && (x*x + y*y <= 1)
      |           ^
main.cpp:4:15: error: 'y' was not declared in this scope
    4 | bool p = (x * y >= 0) && (x*x + y*y <= 1)
      |               ^
main.cpp:4:27: error: 'x' was not declared in this scope
    4 | bool p = (x * y >= 0) && (x*x + y*y <= 1)
      |                           ^
main.cpp:4:29: error: 'x' was not declared in this scope
    4 | bool p = (x * y >= 0) && (x*x + y*y <= 1)
      |                             ^
main.cpp:4:33: error: 'y' was not declared in this scope
    4 | bool p = (x * y >= 0) && (x*x + y*y <= 1)
      |                                 ^
main.cpp:4:35: error: 'y' was not declared in this scope
    4 | bool p = (x * y >= 0) && (x*x + y*y <= 1)
      |                                   ^
 
 
** Process exited - Return Code: 1 **
0
Злостный нарушитель
 Аватар для Verevkin
10283 / 5707 / 1267
Регистрация: 12.03.2015
Сообщений: 26,435
25.02.2024, 13:07
Цитата Сообщение от Furye Посмотреть сообщение
Вот такие ошибки выдаёт, не понимаю почему
Пока весь кот.
0
0 / 0 / 0
Регистрация: 26.11.2020
Сообщений: 25
25.02.2024, 13:12  [ТС]
Окееееей

Мне пока не понятно, разбираюсь
0
Злостный нарушитель
 Аватар для Verevkin
10283 / 5707 / 1267
Регистрация: 12.03.2015
Сообщений: 26,435
25.02.2024, 13:24
Цитата Сообщение от Furye Посмотреть сообщение
Мне пока не понятно, разбираюсь
Покаж весь код. А ваще - зачем такие трудности? Подобных тем на форуме - 100500 штук (см. внизу).



Делай, как там.
1
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
25.02.2024, 14:02
Furye, полный код так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
int main()
{
    double x, y;
    std::cout << "x = "; std::cin >> x;
    std::cout << "y = "; std::cin >> y;
    int p;
    if (x * y >= 0 && x * x + y * y <= 1) p = 1;
    else p = 0;
    std::cout << "p = " << p;
    return 0;
}
Изучайте !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.02.2024, 14:02
Помогаю со студенческими работами здесь

Определить принадлежность точки заданной области
Всем привет! Помогите пожалуйста с программой, задание ниже. Ребят напишите её не сложными командами, только начал проходить с++ и многого...

Определить принадлежность точки закрашенной области
С клавиатуры вводятся два числа x и у, представляющие собой координата некоторой точки A(x, y) на плоскости OXY. Необходимо создать...

Определить принадлежность точки заштрихованной области
У меня задание написать код что бы он правильно выдавал при вводе чисел с клавиатуры в заштрихованной ли области находится точка или нет,...

Определить принадлежность точки нужной области
Определить, принадлежит ли точка с введёнными координатами области, ограниченной графиком функций и осью ОХ (график непериодический, при...

Определить принадлежность точки заданной области
Написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (x1,y1 – действительные числа) и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru