Добрый день. Осваиваю язык C#. Задача в следующем. Как скопировать последовательно элементы двумерного массива размером 5*5 в два массива размером 5*2 и 5*3 . Используя только цикл for и if.
Буду весьма благодарен)
Начал с создания трех массивов:
int[,] arr1 = new int[5, 5];
int[,] arr2 = new int[5, 2];
int[,] arr3 = new int[5, 5];
далее, создал цикл в цикле, так как это двумерный массив:
for (int i = 0; i < arr1.Length; i++)
{
for (int k = 0; k < arr1.Length; k++)
{
arr2[i, k] = arr1[i, k];
arr3[i, k] = arr1[i, k+2];
}
}
Console.WriteLine(arr3);
А вот саму тонкость вывода, нащупать не могу
Array.Length
возвращает:
Общее число элементов во всех измерениях массива
Сомневаюсь, что именно это вам нужно. Храните размерности массива в константах/переменных или воспользуйтесь методом Array.GetLength(int dimension)
Так как все массивы имеют разные размерности, сомневаюсь что можно реализовать задуманное внутри одного и того же цикла. Подумайте об этом.
Console.WriteLine(...)
не умеет выводить кастомные типы и не обязан уметь, он просто вызовет метод .ToString()
на переданном объекте. Сомневаюсь, что это именно то что вам нужно. Организуйте вывод в цикле, добавляя вручную в нужных местах вывод разделителей между элементами в строке и переводы строк между строками элементов.
Заработало) вот как выглядит) Спасибо кто помог.
int[,] arr = new int[5, 5]
{
{ 1, 4, 5, 5, 5 },
{ 4, 4, 4, 4, 4 },
{ 3, 6, 3, 1, 6 },
{ 1, 4, 7, 9, 9 },
{ 4, 5, 5, 5, 5 }
};
int[,] arr1 = new int[5, 2];
int[,] arr2 = new int[5, 3];
for (int i = 0; i< 5; i++)
{
for (int j = 0; j< 2; j++)
{
arr1[i, j] = arr[i, j];
Console.Write(arr1[i, j]);
}
Console.WriteLine();
}
for (int i1 = 0; i1< 5; i1++)
{
for (int j1 = 0; j1< 3; j1++)
{
arr2[i1, j1] = arr[i1, j1 + 2];
Console.Write(arr2[i1, j1]);
}
Console.WriteLine();
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Возникла необходимость создавать окно для ввода названия файла который позже будет созданСоздать окно несложно, но как от этого окна вернуть...
Создаю приложение WinFormsВ главном классе Form1 имею объект MemoryCache cache
всем привет! ситуация следующая - мне нужно каждый час запускать exe-файл или скрипт mainjs в виндовс 7,8,10