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