Loading...
andrei avatar andrei -1 Точки

point in the figure

Здравейте,

Имам проблем със задачката условието е от задача 12. ,А кодът е следния :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            int h = int.Parse(Console.ReadLine());
            int x = int.Parse(Console.ReadLine());
            int y = int.Parse(Console.ReadLine());
            int y1 = 0;
            int x1 = 0;
            int y2 = h;
            int x2 = 3 * h;
            int y3 = h;
            int x3 = h;
            int x4 = 2 * h;
            int y4 = 4 * h;
            var border = x == x1 && y >= y1 && y <=y2;
            var border2 = x == x2 && y >= y1 && y <= y2;
            var border3 = x == x3 && y >= y3 && y <= y4;
            var border4 = x == x4 && y >= y3 && y <= y4;
            var border5 = y == y1 && x >= x1 && x <= x2;
            var border6 = y == y2 && x >= x1 && x <= x2;
            var border7 = y == y3 && x >= x3 && x <= x4;
            var border8 = y == y4 && x >= x3 && x <= x4;
            var inside = x >x1 && x < x2 && y > y1 && y < y2;
            var inside2 = x > x3 && x < x4 && y > y3 && y < y4;

            if (border||border2||border3||border4||border5||border6||border7||border8)
            {
                Console.WriteLine("border");
            }
            else if (inside||inside2)
            {
                Console.WriteLine("inside");
            }
            else
            {
                Console.WriteLine("outside");
            }
            
        }
    }
}


Проблемът е, че съм разделил фигурата на два правоъгълника и общите точки ги прави на бордъри на една от двете страни .

Качения код е най доброте ми решение но е 97/100

Тагове:
0
Programming Basics
TeodorDimitrov89 avatar TeodorDimitrov89 264 Точки

Тази задача ми беше отнела доста време,ако искаш погледни как я бях решил като идея мисля ,че я бях направил като теб и виж къде се различават двете решения.

http://pastebin.com/NXK055Fr

0
VladimirAnaniev avatar VladimirAnaniev 54 Точки

Трябва да намериш начин на ръба, който е можду двете фигури, да ти изписва inside.

По-лесно ще ти е ако първо направиш проверка дали е inside/outside, и ако не е - значи е border.

Моето решение

1
andrei avatar andrei -1 Точки

Оправих се малко преди да погледна как сте отговорили виждам че има и по лесен вариант на задачате но явно не съм бил достатъчно умен за да се сетя. Благодаря за помощта ;)

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.