Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
31 / 14 / 5
Регистрация: 19.11.2014
Сообщений: 617
1

Из List<double> в double[,]

24.10.2016, 09:35. Показов 1569. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Есть List<double>, который содержит числа, ну пусть, для примера от 1 до 20 по порядку. Мне нужно перетащить их в двухмерный массив, чтобы получилось вот так:
1 6 11 16
2 7 12 17
3 8 13 18
4 9 14 19
5 10 15 20
Как эффективнее это сделать? На ум приходит в цикле перебирать лист и толкать в массив по одному числу. Но это велосипед какой то, да и чисел будет не 20, а пара тройка сотен.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2016, 09:35
Ответы с готовыми решениями:

Перевод List<List<double>> в double[][]
Есть ли короткая запись перевода List&lt;List&lt;double&gt;&gt; в double? Я имею в виду перевод без цикла,...

Вывести список из метода. Ошибка Неявное преобразование типа "System.Collections.Generic.List<double>" в "double"
Добрый день. Есть функция в библиотеке классов, расчеты в которой приводят к получению списка: ...

Linq преобразование List<List<double>> в List<Array>
Доброго времени суток, данный код нужно преобразовать linq выражениями и дописать выборку из ...

Как узнать размерность внутреннего вектора в массиве List<List<Double>>?
Добрый вечер! Уважаемые, подскажите пожалуйста, как узнать размерность внутренних строк в...

5
19 / 21 / 12
Регистрация: 24.06.2016
Сообщений: 71
24.10.2016, 10:00 2
Пара тройка сотен чисел это на самом деле очень, очень мало.
0
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
24.10.2016, 10:11 3
Лучший ответ Сообщение было отмечено Chizel как решение

Решение

Студии нет. Нужно объявить массив и пройтись двойным циклом. Каждый элемент массива будет вычисляться так:
C#
1
ar[i,j] = list[j * RowsCount + i]
1
31 / 14 / 5
Регистрация: 19.11.2014
Сообщений: 617
24.10.2016, 10:29  [ТС] 4
А RowsCount это что такое?
0
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
24.10.2016, 10:32 5
Как видно из названия — количество строк в массиве
1
28 / 28 / 23
Регистрация: 06.10.2016
Сообщений: 74
24.10.2016, 10:51 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
44
45
46
47
48
49
50
51
52
using System.Collections.Generic;
using System;
 
namespace ConsoleApplication3
{
    class Program
    {
         static void Main(string[] args)
        {
            List<double> L = new List<double>();
            Console.WriteLine("Введите количество элементов списка:");
            int Rang = int.Parse(Console.ReadLine());
            Console.WriteLine("Количество элементов в столбце:");
            int Max = int.Parse(Console.ReadLine()); 
            for (int i = 0; i < Rang; i++)
                L.Add(i + 1);
 
            int n = 0;
 
            double[,] d = new double[Max,L.Count/Max];
        
            foreach (double x in L)
            {
                if (x > n * Max)
                {
                    int m = 0;
                    var a = L.GetRange(n * Max, Max);
                    foreach (double X in a)
                    {
                        d[m, n] = X; 
                        m++;
                    }
                    n++;
                }
            }
 
            Console.WriteLine("Результат :");
            for (int i = 0; i < Max; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    Console.Write("{0} ",d[i,j]);
                }
                Console.WriteLine();
            }
 
                Console.ReadKey();
        }
    }
}
 
}
0
24.10.2016, 10:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2016, 10:51
Помогаю со студенческими работами здесь

Работат с листом листов (List<List<double>>)
Имеет ли смысл такая конструкция List&lt;List&lt;double&gt;&gt;? Экземпляр-то создается, но немного подвис я,...

Преобразовать List<double[]> в List<Array>
Собственно такой вот вопрос, как это сделать.

Цикл for и тип double. Переменная округляется, хотя объявлена как Double
using System; class zada4ka_5_32 { static void Main() { int n; ...

Обеспечить операторы преобразования матрицы к типу double[] и наоборот - от типа double[] к матрице
Здравствуйте. Выполняю лабораторную работу, по заданию которой необходимо создать класс &quot;Матрица&quot;...


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

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