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

Из одномерного массива в двумерный

21.11.2018, 22:59. Показов 9648. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как реализовать функцию по конвертации одномерного массива в двумерный?
Вот так реализовал:из двумерного в одновременный
C#
1
2
3
4
5
6
7
8
9
10
public double [] ConvertTo1(double[,] array)
        {
            double[] m1;
            m1 = array.Cast<double>().ToArray();
            for(int i = 0; i < m1.Length; i++)
            {
                Console.WriteLine(m1[i]);
            }
            return m1;
        }
Добавлено через 48 секунд
Одномерный*
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2018, 22:59
Ответы с готовыми решениями:

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

Копирование одномерного массива в двумерный
допустим есть массив int a = new int int b = new int for (i=1;i&lt;=10;i++) // расчет a //...

Конвертация одномерного массива в двумерный
Добрый день! Помогите, пожалуйста, в таком вопросе, есть задание: Заданная строка с N2 цифр....

Записать данные из одномерного массива в двумерный
есть одномерный массив. нужно записать данные с одномерного массива в двумерный. как это сделать ??

18
Модератор
Эксперт .NET
15789 / 10946 / 2843
Регистрация: 21.04.2018
Сообщений: 32,109
Записей в блоге: 2
21.11.2018, 23:19 2
Цитата Сообщение от artur31154 Посмотреть сообщение
Как реализовать функцию по конвертации одномерного массива в двумерный?
А что такое конвертация массива из одномерного в двумерный? Надо же определить правила по которому идёт присвоение значений элементов. В Вашем примере коде - просто бесполезные строки. Они ни чего не делают. Вы их переписали откуда-то, даже не думая, и выдаёте якобы за преобразование из двухмерного в одномерный массив.
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 115
21.11.2018, 23:21  [ТС] 3
И что вы предлагаете?
0
Модератор
Эксперт .NET
15789 / 10946 / 2843
Регистрация: 21.04.2018
Сообщений: 32,109
Записей в блоге: 2
21.11.2018, 23:24 4
Цитата Сообщение от artur31154 Посмотреть сообщение
И что вы предлагаете?
Я ничего не предлагаю. Это Вы изложите нормально что Вам надобно, без фальшивых примеров кода. Если будет понятно, что надо - кто-нибудь поможет.
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 115
21.11.2018, 23:27  [ТС] 5
Мне нужно реализовать функцию по конвертации двумерного массива в одномерный и функцию по конвертации одномерного массива в двумерный
0
Модератор
Эксперт .NET
15789 / 10946 / 2843
Регистрация: 21.04.2018
Сообщений: 32,109
Записей в блоге: 2
21.11.2018, 23:31 6
Цитата Сообщение от artur31154 Посмотреть сообщение
Мне нужно реализовать функцию по конвертации двумерного массива в одномерный и функцию по конвертации одномерного массива в двумерный
Я это понял! А по какому правилу?
Вот есть массив {1, 2, 3, 4, 5}. Какой из него должен получиться двумерный массив?
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 115
21.11.2018, 23:32  [ТС] 7
1,2,3,4,5,6
Должно получиться:
1 2
3 4
5 6
0
Модератор
Эксперт .NET
15789 / 10946 / 2843
Регистрация: 21.04.2018
Сообщений: 32,109
Записей в блоге: 2
21.11.2018, 23:36 8
Это же, блин, форум программистов, а не телепатов!

Добавлено через 1 минуту
Вы не ответили на вопрос! Вот есть массив {1, 2, 3, 4, 5}..... Мне не надо показывать из массива {1, 2, 3, 4, 5, 6} Покажите из того который я задал.

Добавлено через 45 секунд
Или из такого {1, 2, 3, 4, 5, 6, 7} ....

Добавлено через 1 минуту
И из такого {1, 2, 3, 4, 5, 6, 7, 8, 9}
Дайте ответ для всех трёх случаев, чтобы понять что Вам надо.
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 115
21.11.2018, 23:39  [ТС] 9
1, 2, 3, 4, 5
a[0,0] a[0,1]
1 2
a[1,0] a[1,1]
3 4
a[2,0]
5
У меня как бы первый столбец-это x,а второй столбец-это y,то есть координаты.И у меня идет проверка на то,чтобы ни значение x не было пустым,ни значение y.Поэтому ваш пример не пройдет,поэтому я показываю на четных
0
Модератор
Эксперт .NET
15789 / 10946 / 2843
Регистрация: 21.04.2018
Сообщений: 32,109
Записей в блоге: 2
21.11.2018, 23:41 10
ТО есть Ваше преобразование можно выразить так: чётные элементы записать в первый столбец, нечётные во второй. Если последнего нечётного нет, записать вместо него ноль. Верное правило?
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 115
21.11.2018, 23:46  [ТС] 11
Нет,пользователь задает сам числа и они могут быть любые.От четности/нечетности не зависит
0
Модератор
Эксперт .NET
15789 / 10946 / 2843
Регистрация: 21.04.2018
Сообщений: 32,109
Записей в блоге: 2
21.11.2018, 23:50 12
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
double[] arrSource = { /* исходные элементы через запятую */};
int count = Math.Ceiling (arrSource.Lenght / 2.0);
double[,]  arrTarget = new double[count,2]
for (int ind = 0; ind <count-1; ind++ )
{
     arrTarget[ind,0] = arrSource [ind*2];
     arrTarget[ind,1] = arrSource [ind*2]+1;
}
arrTarget[count,0] = arrSource [count*2];
if (count*2+1 < arrSource.Lenght)
    arrTarget[count,1] = arrSource [count*2+1];
else
    arrTarget[count,1] = 0;
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 115
21.11.2018, 23:51  [ТС] 13
Вообще,вся программа состоит из того,чтобы
1)Считать из файла числа в двумерный массив
2)Отсортировать массив древесной сортировкой по столбцам(по x).Тут было решено сделать так(ибо не смог сделать так,чтобы древесная сортировка работала с двумерным массивом):перевести из двумерного массива в одномерный,а потом пропуская каждая второй элемент по индексу,рассортировать по возрастанию X.И снова перевести из одномерного в двумерный
0
Модератор
Эксперт .NET
15789 / 10946 / 2843
Регистрация: 21.04.2018
Сообщений: 32,109
Записей в блоге: 2
21.11.2018, 23:53 14
Цитата Сообщение от artur31154 Посмотреть сообщение
Нет,пользователь задает сам числа и они могут быть любые.От четности/нечетности не зависит
Чётные по индексу! Блин! Нулевое число в нулевой столбец, первое в первый, второе - в нулевой, третье - в первый и т.д.

Добавлено через 1 минуту
Что такое древесная сортировка? У Вас есть созданный этот метод?
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 115
21.11.2018, 23:53  [ТС] 15
Я думал,что вы про сами числа,а не индексты,извините
А это функция для чего?
0
384 / 184 / 107
Регистрация: 07.01.2016
Сообщений: 496
21.11.2018, 23:55 16
artur31154
1, 2, 3, 4, 5
a[0,0] a[0,1]
1 2
a[1,0] a[1,1]
3 4
a[2,0]
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
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] array = new int[5];
            for (int i = 0; i < array.Length; i++) array[i] = i+1;
            int[,] b = array.ToTwoDimensionalArray(3, 2);
        }
    }
    public static class Convert2
    {
        public static T[,] ToTwoDimensionalArray<T>(this T[] array, int height, int width)
        {
            T[,] a = new T[height, width];
            for (int i = 0, c = 0; i < height; i++)
            {
                for (int j = 0; j < width; j++, c++)
                {
                    if (c == array.Length) return a;
                    a[i, j] = array[c];
                }
            }
            return a;
        }
    }
}
0
Модератор
Эксперт .NET
15789 / 10946 / 2843
Регистрация: 21.04.2018
Сообщений: 32,109
Записей в блоге: 2
21.11.2018, 23:57 17
Если у Вас есть созданный метод для одномерной сортировки. И Вы хотите его применить для двумероного путём его преобразования в одномерный, удаления членов и обратного преобразования - не выйдет. Вы потеряете связь между элементами первоначально массива и восстановить её не сможете.
Надо менять сам метод сортировки, адаптировать его к многомерному массиву.
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 115
22.11.2018, 00:00  [ТС] 18
Я уже создавал тему с этой проблемой,но пока никто не нашелся
0
Модератор
Эксперт .NET
15789 / 10946 / 2843
Регистрация: 21.04.2018
Сообщений: 32,109
Записей в блоге: 2
22.11.2018, 00:05 19
Цитата Сообщение от artur31154 Посмотреть сообщение
Я уже создавал тему с этой проблемой,но пока никто не нашелся
Потому, что древесная сортировка - это не две строки кода. Надо вникать, разбираться. Появится у кого-то желание - помогут. Не появится - ну,... извините. Это не принудиловка.
Но Ваш предполагаемый подход ни чего не даст. Вы не сможете получить с ним желаемого.
0
22.11.2018, 00:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2018, 00:05
Помогаю со студенческими работами здесь

Как из одномерного массива сделать двумерный с linq
Интересует именно использование linq. Предположим одномерный массив интовский из 20 элементов. Я...

Как сделать из одномерного массива строк двумерный?
Такой вопрос. Имеется richTextBox, который читаю построчно. Нужно разбить все строки на N блоков по...

Используя метод для одномерного массива распечатать двумерный массив
имеется массив int ar = new int; (инициализированный) есть готовый метод печати одномерного...

Из одномерного массива в двумерный
Даны входные данные Как можно разделить одномерный массив на двумерный. Вот так


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

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