Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 20.06.2022
Сообщений: 26

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

21.09.2022, 21:58. Показов 1029. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возникла проблема с решением данной задачи, очень надеюсь на помощь (по возможностями с комментариями в коде так как я вообще не понимаю как это сделать).
Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно
из сообщений «Да», «Нет», «На границе» в зависимости от того, лежит ли точка внутри
заштрихованной области, вне заштрихованной области или на ее границе. Области задаются
графически следующим образом:
Изображения
 
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.09.2022, 21:58
Ответы с готовыми решениями:

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

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

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

4
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16132 / 11256 / 2888
Регистрация: 21.04.2018
Сообщений: 33,091
Записей в блоге: 2
22.09.2022, 08:16
Цитата Сообщение от Vid0 Посмотреть сообщение
выдает одно из сообщений «Да», «Нет», «На границе»
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static string IsContains(double x, double y)
{
    double xy = x*y;
    if(xy > 0)
        return "Нет";
 
    double r2 = x*x + y*y;
    if(r2 > 1)
        return "Нет";
    id (r2 < 1 && xy < 0)
        return "Да";
 
    return "На границе";
}
1
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
22.09.2022, 08:39
Вообще помощь это когда Вы что то делаете, но по ходу возникают вопросы. А тут получается что сделай за меня потому как мне лень думать.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using (Graphics gr = Graphics.FromImage(canvas))
            {
                gr.Clear(Color.CornflowerBlue);
                gr.DrawLine(Pens.Black, new Point(canvas.Width / 2, 0), new Point(canvas.Width / 2, canvas.Height));
                gr.DrawLine(Pens.Black, new Point(0, canvas.Height / 2), new Point(canvas.Width, canvas.Height / 2));
 
                int Radius = 50;
                Point VisualCenter = new Point(canvas.Width / 2, canvas.Height / 2);
 
                // границы проверки
                int LeftTopBound = (-(canvas.Width / 2));
                int RightBottomBound = (-(canvas.Height / 2));
 
                for (int x = LeftTopBound; x < Math.Abs(LeftTopBound); x++)
                {
                    for (int y = RightBottomBound; y < Math.Abs(RightBottomBound); y++)
                    { 
                        Point testPt = new Point(x, y);
 
                        var dist = Math.Sqrt(Math.Pow(testPt.X, 2) + Math.Pow(testPt.Y, 2));
                        if (dist < Radius)
                        {
                            // проверка сегментов
                            bool seg1 = testPt.X < 0 && testPt.Y < 0;
                            bool seg2 = testPt.X > 0 && testPt.Y > 0;
                            if (seg1 || seg2)
                            {
                                gr.DrawRectangle(Pens.Red, new Rectangle(testPt.X + VisualCenter.X, testPt.Y + VisualCenter.Y, 1, 1));
                            }
                        }
                    }
                }
            }
            pictureBox3.Image = canvas;
Миниатюры
Составить программу, которая выдает одно из сообщений «Да», «Нет», «На границе» в зависимости от того, лежит ли точка вн  
1
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
22.09.2022, 08:51
Про проверку на границе забыл )))

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 // проверка сегментов
                            bool innerseg1 = testPt.X <= 0 && testPt.Y <= 0;
                            bool innerseg2 = testPt.X >= 0 && testPt.Y >= 0;
 
                            // првоерка лежит ли на границе
                            bool onLineseg1 = (Math.Round(dist) == Radius) || (testPt.X == 0 || testPt.Y == 0);
                            bool onLineseg2 = (Math.Round(dist) == Radius) || (testPt.X == 0 || testPt.Y == 0);
 
                            if (innerseg1 || innerseg2)
                            {
                                if (onLineseg1 || onLineseg2)
                                {
                                    gr.DrawRectangle(Pens.Cyan, new Rectangle(testPt.X + VisualCenter.X, testPt.Y + VisualCenter.Y, 1, 1));
                                }
                                else gr.DrawRectangle(Pens.Red, new Rectangle(testPt.X + VisualCenter.X, testPt.Y + VisualCenter.Y, 1, 1));
                            }
Миниатюры
Составить программу, которая выдает одно из сообщений «Да», «Нет», «На границе» в зависимости от того, лежит ли точка вн  
1
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5209 / 2926 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
22.09.2022, 15:59
Лучший ответ Сообщение было отмечено Vid0 как решение

Решение

Vid0, на основе кода, который написан Элд Хасп, после его редактирования можно реализировать полный код для заданной задачи:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;
namespace ConsoleApp6
{
    class Program
    {
        static string IsContains(double x, double y)
        {
            double xy = x * y;
            double r2 = x * x + y * y;
            if (xy > 0 || r2 > 1) return "Нет";
            if (xy < 0 && r2 < 1) return "Да";
            return "На границе";
        }
        static void Main(string[] args)
        {
            Console.Write("x = ");
            double x = double.Parse(Console.ReadLine());
            Console.Write("y = ");
            double y = double.Parse(Console.ReadLine());
            Console.WriteLine(IsContains(x, y));
            Console.ReadLine();
        }
    }
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.09.2022, 15:59
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru