Расположить столбцы матрицы по возрастанию сумм модулей их отрицательных нечетных элементов - C#
Формулировка задачи:
Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик. Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент. Напишите пожалуйста.
Решение задачи: «Расположить столбцы матрицы по возрастанию сумм модулей их отрицательных нечетных элементов»
textual
Листинг программы
- using System;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main()
- {
- Console.WriteLine("Введите размерность матрицы");
- int n = int.Parse(Console.ReadLine());
- int[,] massiv = new int[n, n];
- int i, j;
- Console.WriteLine("Заполните матрицу");
- for ( i = 0; i < n; i++)
- {
- for ( j = 0; j < n; j++)
- {
- Console.Write("Введите элемент [{0},{1}]: ",i,j);
- massiv[i,j] = int.Parse(Console.ReadLine());
- }
- }
- Console.WriteLine("Исходная матрица");
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < n; j++)
- {
- Console.Write(" {0} ", massiv[i, j]);
- }
- Console.WriteLine();
- }
- int flag = 1;
- while (flag == 1)
- {
- flag = 0;
- for (i = 0; i < n-1 ; i++)
- {
- double sum1 = 0, sum2 = 0;
- for (j = 0; j < n ; j++)
- {
- if (massiv[j, i] < 0 && massiv[j, i] % 2 != 0)
- {
- sum1 += Math.Abs(massiv[j, i]);
- }
- if (massiv[j, i + 1] < 0 && massiv[j, i + 1] % 2 != 0)
- {
- sum2 += Math.Abs(massiv[j, i + 1]);
- }
- }
- if (sum1 > sum2)
- {
- for (j = 0; j < n; j++)
- {
- int tmp = massiv[j, i];
- massiv[j, i] = massiv[j, i+1 ];
- massiv[j,i+1] = tmp;
- }
- flag = 1;
- }
- }
- }
- Console.WriteLine("Преобразованная матрица");
- for ( i = 0; i < n; i++)
- {
- for ( j = 0; j < n; j++)
- {
- Console.Write(" {0} ",massiv[i,j]);
- }
- Console.WriteLine();
- }
- for (i = 0; i < n; i++)
- {
- double sum = 0;
- for (j = 0; j < n; j++)
- {
- if (massiv[j, i] < 0)
- {
- for (j = 0; j < n; j++)
- {
- sum += massiv[j, i];
- }
- }
- }
- Console.WriteLine("Сумма {0}", sum);
- }
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д