В каждой строке матрицы максимум среди нечетных элементов умножить на номер строки в которой он встречается - C#
Формулировка задачи:
Программа выводит верхнюю строчку и хоть убей. Уже все перепробовал, помогите пожалуйста.
Задача:
Ввести матрицу , вывести ее. В каждой строке максимум среди нечетных элементов умножить на номер строки в которой он встречается.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _54 { class Program { static void Main(string[] args) { Console.Write("N="); int n = int.Parse(Console.ReadLine()); Console.Write("M="); int m = int.Parse(Console.ReadLine()); int[,] mass = new int[n, m]; int i, j, max, j_max; Random rand = new Random(); Console.WriteLine("Массив:"); for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { mass[i, j] = rand.Next(-10, 30); Console.Write(mass[i, j] + "\t"); } Console.WriteLine("\n"); } for (i = 0; i < n; i++) { max = mass[i, 0]; j_max = 0; for (j = 0; j < m; j++) { if (mass[i, j_max] % 2 != 0) { max = mass[i, j]; j_max = j; } } mass[i, j_max] *= i; } Console.WriteLine("После преобразования:\n"); for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { Console.Write(mass[i, j] + "\t"); } Console.WriteLine("\n"); Console.ReadKey(); } } } }
Решение задачи: «В каждой строке матрицы максимум среди нечетных элементов умножить на номер строки в которой он встречается»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _54 { class Program { static void Main(string[] args) { Console.Write("N="); int n = int.Parse(Console.ReadLine()); Console.Write("M="); int m = int.Parse(Console.ReadLine()); int[,] a = new int[n, m]; Console.WriteLine("Введите элементы массива:"); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { Console.Write("a[{0}][{1}]=", i, j); a[i, j] = int.Parse(Console.ReadLine()); } } Console.WriteLine("\n Массив до преобразований:"); for (int i = 0; i < n; i++) { Console.WriteLine(); for (int j = 0; j < m; j++) { Console.Write("\t " + a[i, j]); } } Console.WriteLine('\n'); for (int i = 0; i < n; i++) { int j_max = -1; for (int j = 0; j < m; j++) { if (Math.Abs(a[i, j]) % 2 != 0) //если число по модулю нечетное { if (j_max == -1 || a[i, j] > a[i, j_max]) //если это первое нечетное число или если оно больше других предыдущих { j_max = j; // сохраняем индекс этого числа } } } if (j_max != -1) // проверка, есть ли в строке нечетные числа { Console.WriteLine("Максимум {0} строки - {1}", i, a[i, j_max]); a[i, j_max] *= i; } else { Console.WriteLine("Нечетные числа отсутствуют"); } } Console.WriteLine("\n Массив после преобразований:"); for (int i = 0; i < n; i++) { Console.WriteLine(); for (int j = 0; j < m; j++) { Console.Write("\t " + a[i, j]); } } Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д