Преобразовать ступенчатый массив A к одномерному булевому B по правилу - C#
Формулировка задачи:
всем доброго времени суток, помогите пожалуйста исправить ошибку.
Задача состоит в том что надо Преобразовать ступенчатый массив A к одномерному булевому B по правилу, если строка A[i] симметрична, то B[i]=true, иначе = false;
ругается на
const int n = 4; int[][] arr = new int[n][]; arr[0] = new int[5] { 2, 6, 1, 5, 7 }; arr[1] = new int[3] { 1, 2, 1}; arr[2] = new int[4] { 2, 1, 0, 4 }; arr[3] = new int[3] { 4, 5, 4}; Console.WriteLine(" Исходный массив:"); for (int i = 0; i < n; ++i) { for (int j = 0; j < arr[i].Length; ++j) Console.Write(" {2}", i, j, arr[i][j]); Console.WriteLine(); } int k = 0, t = arr.GetLength(1); var Bools = ( from g in from int x in arr group x by (k++) / t select g.SequenceEqual(g.Reverse()) ).ToArray(); foreach (var b in Bools) Console.WriteLine(b); Console.ReadKey();
int k = 0, t = arr.GetLength(1);
Решение задачи: «Преобразовать ступенчатый массив A к одномерному булевому B по правилу»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace Test { class Program { static void Main(string[] args) { const int n = 4; int[][] arr = new int[n][]; arr[0] = new int[5] { 2, 6, 1, 5, 7 }; arr[1] = new int[3] { 1, 2, 1 }; arr[2] = new int[4] { 2, 1, 0, 4 }; arr[3] = new int[3] { 4, 5, 4 }; bool[] b = new bool[n]; Console.WriteLine(" Исходный массив:"); for (int i = 0; i < n; ++i) { for (int j = 0; j < arr[i].Length; ++j) Console.Write(" {2}", i, j, arr[i][j]); Console.WriteLine(); } for (int i = 0; i < n; ++i) { if (arr[i].SequenceEqual(arr[i].Reverse())) { b[i] = true; } else { b[i]=false; } } for (int i = 0; i < n; ++i) { Console.Write(b[i].ToString() + " "); } Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д