Расположить столбцы матрицы по возрастанию сумм модулей их отрицательных нечетных элементов - 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д