Удаление строк ступенчатого массива - C#
Формулировка задачи:
я вернулся, и удаляю все строки вместо тех что нужно по условию, а именно удаление всех строк, количество нечетных элементов которых равно заданному числу
static int [][]GenerateJaggedArray(out int[][]array) { Random randomElement = new Random(); array = new int[randomElement.Next(5, 11)][]; for (int lineNum = 0; lineNum < array.Length; lineNum++) { array[lineNum] = new int[array.Length]; for (int elementNum = 0; elementNum < array.Length; elementNum++) array[lineNum][elementNum] = randomElement.Next(10, 61); } return array; } static void DeleteRowsOnTheCondition(int[][] inputArray, int number) { for (int lineNum = 0; lineNum < inputArray.Length; lineNum++) { int count = 0; for (int elementNum = 0; elementNum < inputArray.Length; elementNum++) if (inputArray[lineNum][elementNum] % 2 != 0) count++; if (count == number) for (int lineNumRepeat = 0; lineNumRepeat < inputArray.Length; lineNumRepeat++) for (int elementNum = 0; elementNum < inputArray.Length; elementNum++) { inputArray[lineNum][elementNum] = inputArray[lineNum + 1][elementNum]; inputArray[inputArray.Length - 1 - lineNumRepeat][elementNum] = 0; } } } static void task3() { Console.Clear(); int[][] jaggedArray = GenerateJaggedArray(out jaggedArray); PrintJaggedArray(jaggedArray); Console.WriteLine("заданное число:"); var number = int.Parse(Console.ReadLine()); DeleteRowsOnTheCondition(jaggedArray, number); PrintJaggedArray(jaggedArray); Console.ReadKey(); }
for (int lineNumRepeat = 0; lineNumRepeat < inputArray.Length; lineNumRepeat++)
нужно начать с конца
for (int lineNumRepeat = inputArray.Length-1; lineNumRepeat >lineNum; lineNumRepeat--)
Решение задачи: «Удаление строк ступенчатого массива»
textual
Листинг программы
Array.Copy(inputArray[i + 1], inputArray[i], inputArray.Length);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д