Ля пацаны помогите пожалуйста, я чет туплю пздц уже мин 30 сижу хуй пойму как это сделать, с меня палтос кста. Задание: Ввести целую квадратную матрицу, вывести её. В каждой строке элементы, стоящие между главной и побочной диагоналями, записать в массив. Этот массив вывести.
static void Main() { const int size = 5; int[,] ar1 = new int[size, size]; Random rand = new Random(); for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { ar1[i, j] = rand.Next(0, 100); Console.Write("{0}\t",ar1[i,j]); } Console.WriteLine(); } } это вроде вывод матрицы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication102 { class Program { public static void ShowMatrixDiagonals(ref int[,] matrix) { int startindex = 0; List<string> list = new List<string>(); Console.WriteLine("Индексы Елементов Главной Диагонали"); for (int i = 0; i < matrix.GetLength(0); i++) { Console.WriteLine("{0} {1}",i,startindex); list.Add(i.ToString() + "+" + startindex.ToString()); ++startindex; } Console.WriteLine(new string('*', 10)); Console.WriteLine("Индексы елементов Побочной Диагонали"); startindex = matrix.GetLength(0) - 1; for (int i = 0; i <matrix.GetLength(0); ++i) { Console.WriteLine("{0} {1}", i, startindex); list.Add(i.ToString() + "+" + startindex.ToString()); --startindex; } List<int> listresult = new List<int>(); int indexforarray = 0; for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { string line = i.ToString() + "+" + j.ToString(); if (list.IndexOf(line) == -1) { listresult.Add(matrix[i, j]); } } } int[] array = listresult.ToArray(); Console.WriteLine("Результат"); Console.WriteLine(new string('*', 10)); foreach (var elements in array) { Console.Write("{0} ",elements); } } public static void ShowMatrix(ref int[,] matrix) { Console.WriteLine(); Console.WriteLine(new string('*', 10)); for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { Console.Write(" {0} ", matrix[i,j]); } Console.WriteLine(); Console.WriteLine(new string('*', 10)); } } static void Main(string[] args) { Console.WriteLine("Введите размер квадратной матрицы"); int size = Convert.ToInt32(Console.ReadLine()); int[,] matrix = new int[size, size]; for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { Console.WriteLine("Введите елемент матрицы с индексами [{0},{1}]", i, j); matrix[i,j] = Convert.ToInt32(Console.ReadLine()); } } ShowMatrix(ref matrix); if (matrix.GetLength(0) == 2 && matrix.GetLength(1) == 2) { Console.WriteLine("У матрицы 2x2 нету елементов которые расположены между главной и побочной диагональю"); } else { ShowMatrixDiagonals(ref matrix); } } } } Код using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication102 { class Program { public static void ShowMatrixDiagonals(ref int[,] matrix) { int startindex = 0; List<string> list = new List<string>(); Console.WriteLine("Индексы Елементов Главной Диагонали"); for (int i = 0; i < matrix.GetLength(0); i++) { Console.WriteLine("{0} {1}",i,startindex); list.Add(i.ToString() + "+" + startindex.ToString()); ++startindex; } Console.WriteLine(new string('*', 10)); Console.WriteLine("Индексы елементов Побочной Диагонали"); startindex = matrix.GetLength(0) - 1; for (int i = 0; i <matrix.GetLength(0); ++i) { Console.WriteLine("{0} {1}", i, startindex); list.Add(i.ToString() + "+" + startindex.ToString()); --startindex; } List<int> listresult = new List<int>(); int indexforarray = 0; for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { string line = i.ToString() + "+" + j.ToString(); if (list.IndexOf(line) == -1) { listresult.Add(matrix[i, j]); } } } int[] array = listresult.ToArray(); Console.WriteLine("Результат"); Console.WriteLine(new string('*', 10)); foreach (var elements in array) { Console.Write("{0} ",elements); } } public static void ShowMatrix(ref int[,] matrix) { Console.WriteLine(); Console.WriteLine(new string('*', 10)); for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { Console.Write(" {0} ", matrix[i,j]); } Console.WriteLine(); Console.WriteLine(new string('*', 10)); } } static void Main(string[] args) { Console.WriteLine("Введите размер квадратной матрицы"); int size = Convert.ToInt32(Console.ReadLine()); int[,] matrix = new int[size, size]; for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { Console.WriteLine("Введите елемент матрицы с индексами [{0},{1}]", i, j); matrix[i,j] = Convert.ToInt32(Console.ReadLine()); } } ShowMatrix(ref matrix); if (matrix.GetLength(0) == 2 && matrix.GetLength(1) == 2) { Console.WriteLine("У матрицы 2x2 нету елементов которые расположены между главной и побочной диагональю"); } else { ShowMatrixDiagonals(ref matrix); } } } } --- Сообщение объединено с предыдущим 25 дек 2019 --- Сообщение объединено с предыдущим 25 дек 2019 Главной диагональю матрицы называется диагональ, проведённая из левого верхнего угла матрицы в правый нижний. Побочной диагональю матрицы называется диагональ, проведённая из левого нижнего угла матрицы в правый верхний. --- Сообщение объединено с предыдущим 25 дек 2019 Пример матрицы которую я ввел