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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2011, 22:34   #1
FullhDi
Пользователь
 
Регистрация: 19.04.2011
Сообщений: 10
По умолчанию Попадает или не попадает?

(С#) Необходимо решить задачу, которая при введение "х", "у" и "r" говорила попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом, или же нет.
Изображения
Тип файла: jpg 01042011708.jpg (56.1 Кб, 126 просмотров)
FullhDi вне форума Ответить с цитированием
Старый 26.04.2011, 23:22   #2
j2ko
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 25
По умолчанию

1) Проверяем находитса ли точка в окружности r^2 > x^2+y^2
Есди да
2) проверяем попадает ли в 4 квадрант тоесть y<0 && x>0
Eсли нет
3) проверяем ниже ли она линии проходящей через
координати (r,0) и (0,r)
Eсли да
Точка попадает в область

Последний раз редактировалось j2ko; 27.04.2011 в 02:14.
j2ko вне форума Ответить с цитированием
Старый 27.04.2011, 01:55   #3
j2ko
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 25
По умолчанию

Шарпа не знаю...но моих познаний в С оказалось достаточно))))
Код:
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            double x, y, r;
            bool in_area;
            Console.WriteLine("Enter x,y,r :");
            string[] buf = Console.ReadLine().Split(' ');
            x = double.Parse(buf[0]);
            y = double.Parse(buf[1]);
            r = double.Parse(buf[2]);
            in_area = false;
            if ((r * r) > (x * x + y * y))// в круге
            {
                if (!((x > 0) && (y < 0)))// не в 4-том квадранте
                {
                    if ((x + r) >= y) // ниже прямой A(-r,0) B(0,r)
                    {
                        in_area = true;

                    }
                }
                                    
            }
            if(in_area)
                Console.WriteLine("Point in area;");                        
            else
                Console.WriteLine("Point not in area;");
            Console.Read();
        }
    }
}
j2ko вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в temp... виноваты динамичсекие массивы или тип не тот или.. Shabalinuk C++ Builder 5 12.11.2010 12:38
попадает ли точка в область pascal evklid Помощь студентам 11 04.10.2010 15:46
Попадает ли точка в область... kiborrgg Помощь студентам 4 02.10.2010 17:23
Попадает ли точка в...... Runner Помощь студентам 8 25.06.2010 22:27
Опредилите попадает ли точка с координатами(х,у) в круг радиуса R Dog Помощь студентам 2 19.05.2008 19:14