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

Заданы координаты вершин трех треугольников.Определить сколько треугольников лежит внутри окружности

28.05.2017, 15:59. Показов 2646. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заданы координаты вершин трех треугольников. Определить сколько треугольников лежит внутри окружности радиусом R с центром в начале координат.-C#консоль. Ребят ошибка есть в том , что вычисляет только последнюю вершину и по ней присваивает значение 1 или 0, а нужно сделать в цикле, допустим for (int i = 0; i < 3; i++) A = Math.Sqrt((t1[i].x * t1[i].x) + (t1[i].y * t1[i].y)); if (A < r) a = 1; else a = 0; , так, чтобы "если хотя бы одна из вершин не входит в окружность , то а принимает значение 0 и , следовательно, треугольник не входит в окружность. Пытался вставить оператор break , но как бы я его не вставлял и так и сяк - не получается , пишет "оператор break не имеет связи с каким-либо внешним циклом". Прошу , помогите, буду преблагодарен.
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
namespace ConsoleApplication1
{
    class Program
    {
        class cr
        {
            public double x, y;
        };
        static void Main(string[] args)
        {
            double l = 0;
            double A = 0;
            double B = 0;
            double C = 0;
            int a, b, c;
            Console.WriteLine("Введите R:");
            double r = Convert.ToDouble(Console.ReadLine());
            {
                cr[] t1 = new cr[3]; // треугольник 1
                Console.WriteLine("Введите вершины 1го треугольника");
                for (int i = 0; i < 3; i++)
                {
                    Console.WriteLine("Введите X{0}:", i + 1);
                    t1[i].x = Double.Parse(Console.ReadLine());
                    Console.WriteLine("Введите Y{0}:", i + 1);
                    t1[i].y = Double.Parse(Console.ReadLine());
                }
                {
                    {
                        for (int i = 0; i < 3; i++)
                            A = Math.Sqrt((t1[i].x * t1[i].x) + (t1[i].y * t1[i].y));
                        if (A < r) a = 1; else a = 0;
                    }
                }
                {
                    cr[] t2 = new cr[3]; // треугольник 2
                    Console.WriteLine("Введите вершины 2го треугольника");
                    for (int i = 0; i < 3; i++)
                    {
                        Console.Write("Введите X{0}:", i + 1);
                        t2[i].x = Double.Parse(Console.ReadLine());
                        Console.Write("Введите Y{0}:", i + 1);
                        t2[i].y = Double.Parse(Console.ReadLine());
                    }
                    {
                        for (int i = 0; i < 3; i++)
 
                            B = Math.Sqrt((t2[i].x) * (t2[i].x) + (t2[i].y) * (t2[i].y));
 
                        if (B < r)
                            b = 1;
                        else b = 0;
 
 
                    }
                }
 
                {
                    cr[] t3 = new cr[3]; // треугольник 3 
                    Console.WriteLine("Введите вершины 3го треугольника");
                    for (int i = 0; i < 3; i++)
                    {
                        Console.Write("Введите X{0}:", i + 1);
                        t3[i].x = Double.Parse(Console.ReadLine());
                        Console.Write("Введите Y{0}:", i + 1);
                        t3[i].y = Double.Parse(Console.ReadLine());
                    }
                    {
                        for (int i = 0; i < 3; i++)
 
                            C = Math.Sqrt((t3[i].x) * (t3[i].x) + (t3[i].y) * (t3[i].y));
 
                        if (C < r) c = 1;
                        else c = 0;
 
 
                    }
                }
 
                l = a + b + c;
                Console.WriteLine("\n" + "кол-во треугольников, лежащих внутри окружности=" + "\t" + l + "\t");
 
            }
        }
    }
}
Добавлено через 2 минуты
Ошибка 1 Отсутствует внешний цикл для прерывания или продолжения. Вот такую ошибку пишет в случае с break
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.05.2017, 15:59
Ответы с готовыми решениями:

Определить периметры трёх треугольников, если заданы координаты их вершин
Написать программу решения следующей задачи, используя модуль: Определить периметры трёх треугольников, если заданы...

Определить периметры трёх треугольников, если заданы координаты их вершин.
Написать программу решения следующей задачи: Определить периметры трёх треугольников, если заданы координаты их вершин.

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

2
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
28.05.2017, 18:31
tukituki,
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
using System;
class Program
{
    static void Main(string[] args)
    {
        Triangle[] triangles = new Triangle[3];
        for(int i=0; i<3; i++)
        {
            Console.WriteLine("Введите координаты вершин " + (i+1) + "-го треугольника");
            Point[] pts = new Point[3];
            for (int j = 0; j < 3; j++)
            {
                Console.Write("Введите X{0}:", j+1);
                int x = int.Parse(Console.ReadLine());
                Console.Write("Введите Y{0}:", j+1);
                int y = int.Parse(Console.ReadLine());
                pts[j] = new Point(x, y);
            }
            triangles[i] = new Triangle(pts);    
        }
        Console.WriteLine("Введите R:");
        int r = int.Parse(Console.ReadLine());
        int count = 0;
        foreach (Triangle triangle in triangles)
            if (triangle.CheckTriangle(r))
                count++;
        Console.WriteLine("Кол-во треугольников, лежащих внутри окружности = " + count);
    }
 
}
 
class Point
{
    public int X { set; get; }
    public int Y { set; get; }
    public Point(int x, int y)
    {
        X = x;
        Y = y;
    }
    public bool CheckPoint(int r)
    {
        return Math.Sqrt(X * X + Y * Y) <= r * r;
    }
}
 
class Triangle
{
    public Point A { set; get; }
    public Point B { set; get; }
    public Point C { set; get; }
    public Triangle(Point[] points)
    {
        A = points[0]; B = points[1]; C = points[2];
    }
    public bool CheckTriangle(int R)
    {
        return A.CheckPoint(R) && B.CheckPoint(R) && C.CheckPoint(R);
    }
}
1
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 5
28.05.2017, 18:40  [ТС]
спасибо огромное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.05.2017, 18:40
Помогаю со студенческими работами здесь

Определить сколько треугольников лежит внутри окружности радиуса R с центром в начале координат
Доброго времени суток) хочу попросить о спасении своей никчемной жизни) Буду очень признателен если не откажете. Мне нужно написать...

Заданы координаты вершин трех треугольников
Заданы координаты вершин трех треугольников. Определить треугольник с максимальным периметром.

Подпрограммы: определить, сколько треугольников лежит внутри окружности радиуса R с центром в начале координат
заданы координаты вершин трёх треугольников.определить сколько треугольников лежит внутри окружности радиуса R с центром в начале координат.

Даны координаты вершин треугольника: (ax;ay), (bx;by), (cx;cy). Определить лежит ли данный треугольник внутри окружности радиуса R
Помогите с задачей. Даны координаты вершин треугольника: (ax;ay), (bx;by), (cx;cy). Определить лежит ли данный треугольник внутри...

Получить файл F2, в котором представлены координаты вершин треугольников и поле для треугольников разных типов
Задача: Написать программу, которая записывает координаты вершин треугольника, вводимых с клавиатуры, в файл F1. Из файла F1 получить файл...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru