Проверить, является ли заданный индексами элемент массива палиндромом - C#
Формулировка задачи:
Класс должен содержать закрытое поле двумерного динамического массива, конструктор без параметров и три конструктора с параметрами, свойства, индексаторы, методы (ввода, вывода, обработки массива).Обработку массива в соответствии с заданием осуществлять в одном методе, исходные данные и результаты работы метода передавать параметрами. В программе должны проверятся все элементы разработанного класса.
Тип массива-строковый, размерность NxM. Проверить, является ли заданный индексами элемент массива палиндромом. Палиндром принимает одно и то же значение при чтении его как справа налево, так и слева направо.
Решение задачи: «Проверить, является ли заданный индексами элемент массива палиндромом»
textual
Листинг программы
class Massiv { private int n; private int m; private string[,] massiv; public Massiv() { massiv = Razmernostb(); } public Massiv(int N, int M) { n = N; m = M; massiv = new string[n, m]; Console.WriteLine("Размерность массива: N=" + n + " M=" + m); } public Massiv(int N, int M, string[,] mas) { n = N; m = M; massiv = mas; } public Massiv(int k) { Random rand = new Random(); n = rand.Next(k); m = rand.Next(k); if (n == 0) n++; massiv = new string[n, m]; Console.WriteLine("Размерность массива установлена автоматически: N=" + n + " N=" + n); } public string[,] Razmernostb() { Console.WriteLine("Введите размерность массива N M"); Console.WriteLine("Введите N"); n = int.Parse(Console.ReadLine()); Console.WriteLine("Введите M"); m = int.Parse(Console.ReadLine()); massiv = new string[n, m]; Zapolnitb(); return massiv; } public string[,] Zapolnitb() { Console.WriteLine("Введите элементы массива"); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { Console.Write("MAS[" + i + "][" + j + "]"); massiv[i, j] = Console.ReadLine(); } } return massiv; } public void Vivod() { for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { Console.Write(massiv[i, j] + " "); } Console.WriteLine(); } } public void Logika() { for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { int temp = Convert.ToInt32(massiv[i, j]); int b = 0; while (temp != 0) { b = b * 10 + temp % 10; //Переворачиваем число по цифрам temp /= 10; //Отбрасываем последнюю цифру } if (Convert.ToInt32(massiv[i, j]) == b) Console.WriteLine("Элемент массива [{0},{1}] Палиндром",i,j); else Console.WriteLine("Элемент массива [{0},{1}] Не палиндром", i,j); } } } } class Program { static void Main() { Console.WriteLine("Конструктор без параметров"); Massiv ob = new Massiv(); ob.Vivod(); ob.Logika(); Console.WriteLine(new string('-', 50)); Console.WriteLine("Конструктор с параметрами. В качестве параметра размерность массива"); Massiv ob1 = new Massiv(2, 2); ob1.Zapolnitb(); ob1.Vivod(); ob1.Logika(); Console.WriteLine(new string('-', 50)); Console.WriteLine("Конструктор с параметрами. В качестве параметра размерность массива и элементы массива"); string[,] mas = new string[,] { { "1234","2332","111" }, { "32332","323232", "323232" }, { "1122", "1331", "1488" } }; Massiv ob2 = new Massiv(3, 3, mas); ob2.Vivod(); ob2.Logika(); Console.WriteLine(new string('-', 50)); Console.WriteLine("Конструктор с параметрами. В качестве параметра рандомная размерность массива"); Massiv ob3 = new Massiv(2); ob3.Zapolnitb(); ob3.Vivod(); ob3.Logika(); Console.ReadKey(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д