Удаление строк ступенчатого массива - 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы