Массив NxN. Удалить все строки, в которых каждый элемент попадает в заданный интервал - C#
Формулировка задачи:
Использовал ступенчатый массив,в общем не знаю,как удалить эл-ты,знаю,что можно сдвигом,потом думал записывать эти значения в другой массив,но так и не придумал,что дальше делать...
Листинг программы
- class Program
- {
- static void setarray(out int[][] arr)
- {
- Console.Write("Введите кол-во строк n=");
- int n = Convert.ToInt32(Console.ReadLine());
- arr = new int[n][];
- for (int i = 0; i < arr.Length; i++)
- {
- Console.Write("Введите количество элементов в {0} строке: ", i);
- int j = int.Parse(Console.ReadLine());
- arr[i] = new int[j];
- for (j = 0; j < arr[i].Length; j++)
- {
- Console.Write("arr[{0}][{1}]= ", i, j);
- arr[i][j] = int.Parse(Console.ReadLine());
- }
- }
- }
- static void print(int[][] arr)
- {
- for (int i = 0; i < arr.Length; i++)
- {
- for (int j = 0; j < arr[i].Length; j++)
- {
- Console.Write("{0} ", arr[i][j]);
- }
- Console.WriteLine();
- }
- }
- static void change (int[][]arr)
- {
- Console.Write("Введите a=");
- int a = Convert.ToInt32(Console.ReadLine());
- Console.Write("Введите b=");
- int b = Convert.ToInt32(Console.ReadLine());
- if (a==b)
- {
- return;
- }
- for (int i=0;i< arr.Length;i++)
- for (int j=0;j< arr.Length;j++)
- {
- if (arr[i][j]>=a && arr[i][j]<=b)
- {
- arr[i][j] = 0;
- }
- }
- }
- static void Main()
- {
- int[][] arr;
- setarray(out arr);
- print(arr);
- change(arr);
- print(arr);
- }
- }
Решение задачи: «Массив NxN. Удалить все строки, в которых каждый элемент попадает в заданный интервал»
textual
Листинг программы
- class Program
- {
- static int[][] Xs;
- static void setarray(out int[][] arr)
- {
- Console.Write("Введите кол-во строк n=");
- int n = Convert.ToInt32(Console.ReadLine());
- arr = new int[n][];
- for (int i = 0; i < arr.Length; i++)
- {
- Console.Write("Введите количество элементов в {0} строке: ", i);
- int j = int.Parse(Console.ReadLine());
- arr[i] = new int[j];
- for (j = 0; j < arr[i].Length; j++)
- {
- Console.Write("arr[{0}][{1}]= ", i, j);
- arr[i][j] = int.Parse(Console.ReadLine());
- }
- }
- }
- static void print(int[][] arr)
- {
- for (int i = 0; i < arr.Length; i++)
- {
- for (int j = 0; j < arr[i].Length; j++)
- {
- Console.Write("{0} ", arr[i][j]);
- }
- Console.WriteLine();
- }
- }
- static void change(int[][] arr)
- {
- Console.Write("Введите a=");
- int a = Convert.ToInt32(Console.ReadLine());
- Console.Write("Введите b=");
- int b = Convert.ToInt32(Console.ReadLine());
- if (a == b)
- {
- return;
- }
- for (int i = 0; i < arr.Length; i++)
- {
- Array.Resize(ref Xs, i+1);
- for (int j = 0; j < arr[i].Length; j++)
- {
- Array.Resize(ref Xs[i], j+1);
- if (arr[i][j] >= a && arr[i][j] <= b)
- {
- Array.Resize(ref Xs[i], j - 1);
- }
- }
- }
- for (int i = 0; i < Xs.Length; i++)
- {
- if (Xs[i].Length > 0)
- {
- for (int j = 0; j < Xs[i].Length; j++)
- Xs[i][j] = arr[i][j];
- }
- }
- }
- static void Main()
- {
- int[][] arr;
- setarray(out arr);
- print(arr);
- change(arr);
- print(Xs);
- Console.ReadKey();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д