Определить номер первого из столбцов матрицы, содержащих хотя бы один нулевой элемент - 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();
        }
    }

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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