Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Set1022876
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 25
1

Найти две из трех точек на плоскости расстояние между которыми минимально

12.04.2014, 17:39. Просмотров 1207. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста написать задачку )в консольном предложении(
//
Разработать метод который вычисляет длину отирезка по координатам вершин и
метод который вычесляет минимальное из координат.
с помощьюю этого метада найти две из трех точек на плоскости
расстояние между которыми минимально;
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2014, 17:39
Ответы с готовыми решениями:

Для каждой четверти напечатать точки, принадлежащие ей, и две точки, расстояние между которыми минимально.
Как можно это реализовать ? Случайным образом формируются координаты X и Y 100 точек. Диапазон...

Для каждой четверти напечатать точки, принадлежащие ей, и две точки, расстояние между которыми минимально.
Только начали проходить массивы, люди помогите пожалуйста с решением этой задачи, буду признателен....

Найти номера двух точек, расстояние между которыми наибольшее
Даны координаты N точек на плоскости x(0), y(0) ,..., x(n), y(n) (N=20). Найти номера двух точек,...

Найти номера двух точек, расстояние между которыми наибольшее
В общем начал изучать С#, это мой первый язык программирования, я застрял на этой теме. Если можно...

Найти номера двух точек, расстояние между которыми наибольшее
Задача: Даны координаты n-точек на плоскости (x;y.....Xn;Yn//n-может находится в диапазоне от...

1
Pikemaster
300 / 300 / 215
Регистрация: 24.09.2013
Сообщений: 769
Завершенные тесты: 4
12.04.2014, 19:24 2
Лучший ответ Сообщение было отмечено Set1022876 как решение

Решение

Это первые две функции.
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
using System;
 
class A
{
    static void Main()
    {
        int x, y, x2, y2, minCoord;
        double lineLength;
 
        Console.WriteLine("Введите координату x первой вершины: ");
        x = int.Parse(Console.ReadLine());
        Console.WriteLine("Введите координату y первой вершины: ");
        y = int.Parse(Console.ReadLine());
 
        Console.WriteLine("Введите координату x второй вершины: ");
        x2 = int.Parse(Console.ReadLine());
        Console.WriteLine("Введите координату y второй вершины: ");
        y2 = int.Parse(Console.ReadLine());
 
        lineLength = LineLength(x, y, x2, y2);
        minCoord = MinimalCoord(x, y, x2, y2);
 
        Console.WriteLine("Длина отрезка: " + lineLength);
 
        switch (minCoord)
        {
            case 1: Console.Write("Минимальное из координат: ({0}, {1})", x2, y2); break;
            case 2: Console.Write("Минимальное из координат: ({0}, {1})", x, y); break;
            default: Console.Write("Вершины равноудалены от центра."); break;
        }
 
        Console.ReadKey();
    }
 
    static double LineLength(int x, int y, int x2, int y2)
    {
        return Math.Abs(Math.Sqrt(Math.Pow(x - x2, 2) + Math.Pow(y - y2, 2)));
    }
 
    static int MinimalCoord(int x, int y, int x2, int y2)
    {
        if (x * y > x2 * y2) return 1;
        else if (x * y < x2 * y2) return 2;
        else return 3;
    }
}
Добавлено через 8 минут
Вот код всего задания
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
using System;
 
class A
{
    static void Main()
    {
        int x, y, x2, y2, x3, y3, minCoord;
        double l, l2, l3;
 
        Console.WriteLine("Введите координату x первой вершины: ");
        x = int.Parse(Console.ReadLine());
        Console.WriteLine("Введите координату y первой вершины: ");
        y = int.Parse(Console.ReadLine());
 
        Console.WriteLine("Введите координату x второй вершины: ");
        x2 = int.Parse(Console.ReadLine());
        Console.WriteLine("Введите координату y второй вершины: ");
        y2 = int.Parse(Console.ReadLine());
 
        Console.WriteLine("Введите координату x третьей вершины: ");
        x3 = int.Parse(Console.ReadLine());
        Console.WriteLine("Введите координату y третьей вершины: ");
        y3 = int.Parse(Console.ReadLine());
 
        l = LineLength(x, y, x2, y2);
        minCoord = MinimalCoord(x, y, x2, y2);
 
        Console.WriteLine("Длина отрезка: " + l);
 
        switch (minCoord)
        {
            case 1: Console.WriteLine("Минимальное из координат: ({0}, {1})", x2, y2); break;
            case 2: Console.WriteLine("Минимальное из координат: ({0}, {1})", x, y); break;
            default: Console.WriteLine("Вершины равноудалены от центра."); break;
        }
 
        l = LineLength(x, y, x2, y2);
        l2 = LineLength(x2, y2, x3, y3);
        l3 = LineLength(x, y, x3, y3);
 
        if (l <= l2 && l <= l3)
            Console.WriteLine("Минимальное растояние между точками: ({0},{1}) и ({2},{3})", x, y, x2, y2);
        if (l2 <= l && l2 <= l3)
            Console.WriteLine("Минимальное растояние между точками: ({0},{1}) и ({2},{3})", x2, y2, x3, y3);
        if (l3 <= l && l3 <= l2)
            Console.WriteLine("Минимальное растояние между точками: ({0},{1}) и ({2},{3})", x, y, x3, y3);
 
        Console.ReadKey();
    }
 
    static double LineLength(int x, int y, int x2, int y2)
    {
        return Math.Abs(Math.Sqrt(Math.Pow(x - x2, 2) + Math.Pow(y - y2, 2)));
    }
 
    static int MinimalCoord(int x, int y, int x2, int y2)
    {
        if (x * y > x2 * y2) return 1;
        else if (x * y < x2 * y2) return 2;
        else return 3;
    }
}
Добавлено через 7 минут
Длина отрезка по умолчанию вычисляется для двух первых вершин.
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2014, 19:24

Найти номера пары точек, расстояние между которыми наибольшее
Даны координаты п точек на плоскости (x1, y1), •••(xn , yn) (n &lt; 30). Найти номера пары то-чек,...

Найти номера двух точек, расстояние между которыми наибольшее
Даны координаты N точек на плоскости x(0), y(0) ,..., x(n), y(n) (N=20). Найти номера двух точек,...

Найти номера двух точек, расстояние между которыми наибольшее
Даны координаты N точек на плоскости x(0),y(0),...x(n),y(n) (N=20). Найти номера двух точек,...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru