Определить номер первого из столбцов матрицы, содержащих хотя бы один нулевой элемент - C# (184038)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста( Первое выполнил, а остальное не получается( Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент. Характеристикой строки целочисленной матрицы назовем сумму ее отрицательных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с убыванием характеристик.

Решение задачи: «Определить номер первого из столбцов матрицы, содержащих хотя бы один нулевой элемент»

textual
Листинг программы
    class Program
    {
        static void Main(string[] args)
        {
            int rows, columns;
            rows = 3; columns = 5;
            int[,] matrix = new int[rows, columns];
            //Заполняем целочисленную прямоугольную матрицу
            matrix[0, 0] = 1; matrix[0, 1] = 0; matrix[0, 2] = -2; matrix[0, 3] = 3; matrix[0, 4] = -1;
            matrix[1, 0] = 5; matrix[1, 1] = 6; matrix[1, 2] = 7; matrix[1, 3] = 0; matrix[1, 4] = 2;
            matrix[2, 0] = 3; matrix[2, 1] = -4; matrix[2, 2] = 5; matrix[2, 3] = -3; matrix[2, 4] = -2;
 
            int[] sum = new int[rows];
            //Получение характеристики строки целочисленной матрицы назовем сумму ее отрицательных четных элементов
            for (int i = 0; i < rows; i++)
            {
                sum[i] = 0;
                for (int j = 0; j < columns; j++)
                {
                    if ((matrix[i, j] < 0) && (matrix[i, j] % 2 == 0))
                    { sum[i] += matrix[i, j]; }
                }
            }
 
            //Переставляем строки заданной матрицы, распологая их в соответствии с убыванием характеристики
            for (int i = 0; i < sum.Length - 1; i++)
                for (int j = i + 1; j < sum.Length; j++)
                    if (sum[i] < sum[j])
                    {
                        int b = sum[i];
                        sum[i] = sum[j];
                        sum[j] = b;
                        for (int m = 0; m < columns; m++)
                        {
                            b = matrix[i, m];
                            matrix[i, m] = matrix[j, m];
                            matrix[j, m] = b;
                        }
                    }
 
            Console.WriteLine("Новая матрица: ");
            for (int i = 0; i < rows; i++)
            {
                for (int j = 0; j < columns; j++)
                    Console.Write(matrix[i, j].ToString()+",");
                Console.WriteLine("\r\n");
                //Console.WriteLine(" Sum: {0}", sum[i]);
            }
            Console.ReadLine();
        }
    }

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


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

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

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