В каждой строке матрицы максимум среди нечетных элементов умножить на номер строки в которой он встречается - 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();
        }
    }
}

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


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

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

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