Проверить, является ли заданный индексами элемент массива палиндромом - 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();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д