Просуммировать элементы матрицы и повернуть ее на 90 градусов - C# (199192)

Узнай цену своей работы

Формулировка задачи:

вести 2 мерный масив с клавиатуры прасумировать по строке, столбцу, гл.диагонали,побочной,повернуть на 90 градусов по чесовой,против чесовой.

Решение задачи: «Просуммировать элементы матрицы и повернуть ее на 90 градусов»

textual
Листинг программы
class Program
    {
        static void Main(string[] args)
        {
            int n, m;
            Console.WriteLine("Размер массива n*m");
            Console.Write("n = ");
            n = int.Parse(Console.ReadLine());
            Console.Write("m = ");
            m = int.Parse(Console.ReadLine());
            int[,] mas = new int[n,m];
            Console.WriteLine("введите элементы массива:");
            for (int i = 0; i < n; i++)
                for (int j = 0; j < m; j++)
                    mas[i, j] = int.Parse(Console.ReadLine());
            Console.WriteLine();
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                    Console.Write("{0,4}", mas[i,j]);
                Console.WriteLine(); 
            }
 
            Console.WriteLine();
            Console.WriteLine("суммы по столбцам");
            for (int j = 0; j < m; j++)
            {
                int sum1 = 0;
                for (int i = 0; i < n; i++)
                    sum1 += mas[i, j];
                Console.Write("{0,4}", sum1);
            }
 
            Console.WriteLine(); Console.WriteLine();
            Console.WriteLine("суммы по строкам");
            int sum3 = 0;
            for (int i = 0; i < n; i++)
            {
                int sum2 = 0;
                for (int j = 0; j < m; j++)
                    sum2 += mas[i, j];
                Console.WriteLine(sum2);
                sum3 += sum2;
            }
 
            Console.WriteLine(); Console.WriteLine();
            Console.WriteLine("сумма по гл. диагонали");
            int sumDiag1 = 0;
            for (int i = 0; i < Math.Min(n, m); i++)
                sumDiag1 += mas[i, i];
            Console.WriteLine(sumDiag1);
 
            Console.WriteLine();
            Console.WriteLine("сумма по побоч. диагонали");
            int sumDiag2 = 0;
            for (int i = 0; i <n && m-i-1>=0; i++)
                sumDiag2 += mas[i, m-i-1];
            Console.WriteLine(sumDiag2);
 
            Console.WriteLine("перевернутая на 90 градусов по часовой");
            int[,] masTrans1 = new int[m, n];
            for (int i = 0; i < n; i++)
                for (int j = 0; j < m; j++)
                    masTrans1[j, n-i-1] = mas[i, j];
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                    Console.Write("{0,4}", masTrans1[i, j]);
                Console.WriteLine();
            }
 
            Console.WriteLine("перевернутая на 90 градусов против часовой");
            int[,] masTrans2 = new int[m, n];
            for (int i = 0; i < n; i++)
                for (int j = 0; j < m; j++)
                    masTrans2[m-j-1, i] = mas[i, j];
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                    Console.Write("{0,4}", masTrans2[i, j]);
                Console.WriteLine();
            }
 
            Console.ReadLine();
        }
    }

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


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

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

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