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

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

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

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

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

textual
Листинг программы
        static void Main(string[] args)
        {
            int n = 4;
            int m = 5;
            int[,] mass = new int[n, m];
            int[] index = new int[n];
            int[] numcol = new int[m];
            int[] spe = new int[n];
            int[,] mass1 = new int[n, m];
 
            Random rnd = new Random();
            for (int i = 0; i < n; i++)
            {
                index[i] = i;
                for (int j = 0; j < m; j++)
                {
                    numcol[j] = 0;
                    mass[i, j] = rnd.Next(-150,150);
                    if (mass[i, j] == 0) numcol[j] += 1;
                }
            }
            Array.Copy(mass, 0, mass1, 0, mass.Length); 
            Console.WriteLine("Заданная матрица");
            print(mass);
            int numcolplus = 0;
            for (int j = 0; j < m; j++)
                if (numcol[j] == 0) numcolplus += 1;
            Console.WriteLine("количество столбцов не содержащих ни одного нулевого элемента: {0}", numcolplus);
 
            for (int i = 0; i < n; i++)
            {
                spe[i]=0;
                for (int j = 0; j < m; j++)
                    if (mass[i, j] > 0 && mass[i, j] % 2 == 0) spe[i] += mass[i, j];
            }
            // Сортировка по заданному свойству
            Array.Sort(spe, index);
 
            for (int j = 0; j < n; j++)
                for (int g = 0; g < n; g++)
                    mass[j, g] = mass1[index[j], g];
 
            Console.WriteLine("Отсортировано по заданному свойству");
            print(mass);
 
            Console.ReadKey();
        }
        public static void print(int[,] mass)
        {
            int n = mass.GetLength(0);
            int m = mass.GetLength(1);
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    Console.Write("\t{0} ", mass[i, j]);
                }
                Console.WriteLine();
            }
        }

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


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

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

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