Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
2 / 2 / 0
Регистрация: 26.02.2012
Сообщений: 35
1

Создать массив, элементами которого являются расстояния между точками

26.03.2012, 19:53. Показов 2159. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать подпрограмму, реализующую решение задачи: На плоскости заданы своими координатами n точек. Создать массив
размером n(n-1), элементами которого являются расстояния от каждой из точек
до n -1 других.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2012, 19:53
Ответы с готовыми решениями:

Заданы n точек. Создать матрицу, элементами которой являются расстояния между каждой парой точек
Добрый день. Очень срочная нужен код программы на C#, но проблема в том что я его только осваиваю...

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

Создать массив, элементами которого являются суммы делителей каждого числа другого массива
Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов. Создать новый...

Создать класс, содержащий методы вычисления расстояния между двумя точками
Создать класс,содержащий методы вычисления расстояния между двумя точка.Протестировать созданный...

6
0 / 0 / 0
Регистрация: 13.02.2010
Сообщений: 22
28.03.2012, 01:07 2
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
 class Point
        {
            public int X;
            public int Y;
        }
 
        void Mas()
        {
            
            Point[] mas = new Point[]
            {
                new Point{X=0,Y=0},
            new Point{X=2,Y=3},
            new Point{X=0,Y=3}
            };
 
            double[] masd = new double[mas.Length * (mas.Length - 1)];
            int index = 0;
                for (int i = 0; i < mas.Length; ++i)
                {
                    for (int k = 0; k < mas.Length; ++k)
                    {
                        if (k != i)
                        {
                            masd[index] = Math.Sqrt(Math.Pow((double)(mas[k].X - mas[i].X), 2d) + Math.Pow((double)(mas[k].Y - mas[i].Y), 2d));
                                index++;
                        }
                    }
                
            }   
            foreach(double val in masd)
            {
                Console.WriteLine(val);
            }
 
 
        }
0
2 / 2 / 0
Регистрация: 26.02.2012
Сообщений: 35
28.03.2012, 12:43  [ТС] 3
не совсем понятно..
и по условию количество точек (n) должно вводиться с клавиатуры
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
28.03.2012, 13:58 4
икотэ, и? Трудно сделать ввод?
0
2 / 2 / 0
Регистрация: 26.02.2012
Сообщений: 35
29.03.2012, 00:33  [ТС] 5
помогите исправить
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
static void Main(string[] args)
        {
            Console.Write("Введите количество точек n: ");  
            int n = int.Parse(Console.ReadLine());
            Random x = new Random();
            Random y = new Random();
            double[,] masd = new double[n, (n - 1)]; 
            int index = 0;
            for (int i = 0; i < masd.Length; ++i)
            {
                for (int k = 0; k < masd.Length; ++k)
                {
                    if (k != i)
                    {
                        mas[index] = Math.Sqrt(Math.Pow((double)(masd[k].X - masd[i].X), 2d) + Math.Pow((double)(masd[k].Y - masd[i].Y), 2d));
                        index++;
                    }
                }
            }
            foreach (double val in masd)
            {
                Console.Write("\t" + masd[i.k]);
                Console.WriteLine(val);
            }
 
            Console.ReadLine();
        }
    }
}
0
15 / 15 / 5
Регистрация: 04.09.2011
Сообщений: 80
29.03.2012, 04:21 6
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
 
namespace ConsoleApplication25
{
 
    class Program
    {
        static void Main(string[] args)
        {
            int index = 0;
            int N = int.Parse( Console.ReadLine());//Vvod s klaviaturi koli4estva to4ek
            Random r = new Random();//klass slu4aynih 4isel
            Point [] tochki = new Point [N]; //massiv to4ek
            double[] raznost = new double[N * (N - 1)];
            for (int i = 0; i < N; i++)
            {
                
                    tochki[i]=new Point(r.Next(300),r.Next(500)); // zabivaem massiv slu4aynimi to4kami
                
            }
            for (int i = 0; i < N-1; i++)
            {
                for (int j = i+1; j < N; j++)
                {
                    //berem to4ky i probegaem po ostalnim
 
                     
                    
                    raznost[index] = Math.Sqrt(Math.Pow((tochki[i].X - tochki[j].X), 2) + Math.Pow(((tochki[i].Y - tochki[j].Y)), 2));
                    Console.WriteLine(raznost[index]);// vi4islyaem rasstoyanie i zapisivaem ego v massiv
                    index++;//tyt je srazy pe4ataem
                    
                }
            }
            Console.ReadLine();//zaderjka ekrana
 
        }
    }
}
Чтобы заработал класс POINT нужно подключить библиотеку System.Drawing

Добавлено через 1 минуту
Вопросики?
0
0 / 0 / 1
Регистрация: 28.02.2012
Сообщений: 13
02.05.2012, 17:10 7
Еще как вариант:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace laba7
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            int n;
            while (!int.TryParse(Console.ReadLine(),out n))
            {Console.Write("Error");}
            var pnt = new Point[n];
            var rnd = new Random();
 
            for (int i = 0; i < n; i++)
            {
                pnt[i] = new Point(rnd.Next(1, 20), rnd.Next(1, 20));
                Console.WriteLine(pnt[i].x + "\t" + pnt[i].y);
            }
 
            var mas = new double[n * (n - 1)];
            int count = 0;
 
            for (var i = 0; i < n; i++)
            {
                var p = new Point();
                p = pnt[0];
                pnt[0] = pnt[i];
                pnt[i] = p;
                
                for (var j = 1; j < n; j++)
                {
                    mas[count] = (double)Math.Sqrt(Math.Pow((pnt[0].x - pnt[j].x), 2) + Math.Pow((pnt[0].y - pnt[j].y), 2));
                    count++;
                }
            }
 
            for (int i = 0; i < n * (n - 1); i++)
            {
                Console.Write("{0:F2}"+"\t",mas[i]);
            }
            Console.ReadKey();
        }
    }
 
    internal class Point
    {
        public int x;
 
        public int y;
 
        public Point(int x, int y)
        {
            this.x = x;
            this.y = y;
        }
 
        public Point()
        {
        }
    }
}
0
02.05.2012, 17:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2012, 17:10
Помогаю со студенческими работами здесь

Создать класс, содержащий методы вычисления расстояния между двумя точками
Создать класс, содержащий методы вычисления расстояния между двумя точками. Протестировать...

Сформировать одномерный массив L(m), элементами которого являются суммы j столбца
Помогите,пожалуйста) Никак не могу понять... Дана матрица K(m.n). Сформировать одномерный массив...

Сформировать одномерный массив, элементами которого являются суммы элементов i-ой строки
Дана матрица А(n,m). Сформировать одномерный массив В(n), элементами которого являются суммы...

Сформировать массив В, элементами которого являются большие из двух рядом стоящих в массиве А чисел
Задание: Дан массив A(N). Сформировать массив В(М), элементами которого являются большие из двух...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru