Просуммировать элементы матрицы и повернуть ее по часовой стрелке - C#

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

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

1. Ввести двух мерный массив с клавиатуры. 2. Вывести двух мерный массив на экран. 3. Сума столбцов. 4.Сумма строк. 5. Сумма элементов стоящих на главнной диагонале. 6.Сумма элементов стоящих на побочной диагонале. 7.Сумма всех элементов массива. 8.Повернуть массив по часовой стрелки. 9.Повернуть массив против часовой стрелки.

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

textual
Листинг программы
        static int[] rowSum(int[,] a)
        {
            int [] ans = new int[a.GetLength(0)];
            for (int i = 0; i < a.GetLength(0); i++)
                for (int j = 0; j < a.GetLength(1); j++)
                    ans[i] += a[i, j];
            return ans;
        }
 
        static int[] colSum(int[,] a)
        {
            int [] ans = new int[a.GetLength(1)];
            for (int i = 0; i < a.GetLength(1); i++)
                for (int j = 0; j < a.GetLength(0); j++)
                    ans[i] += a[j, i];
            return ans;
        }
 
        private static int leftDiagSum(int[,] a)
        {
            int ans = 0;
            for (int i = 0; i < a.GetLength(0); i++)
                for (int j = 0; j < a.GetLength(1); j++)
                    if (i == j) ans += a[i, j];
            return ans;
        }
 
        private static int rightDiagSum(int[,] a)
        {
            int ans = 0;
            int k = a.GetLength(1)-1;
            for (int i = 0; i < a.GetLength(0); i++)
                for (int j = 0; j < a.GetLength(1); j++)
                    if (j==k )
                    {
                        ans += a[i, j];
                        k--;
                    }
            return ans;
        }
 
        private static int sum(int[,] a)
        {
            int ans = 0;
            for (int i = 0; i < a.GetLength(0); i++)
                for (int j = 0; j < a.GetLength(1); j++)
                    ans += a[i, j];
            return ans;
        }
 
        private static int[,] rotate90Clockwise(int[,] a)
        {
            int[,]ans = new int[a.GetLength(1),a.GetLength(0)];
            int k = a.GetLength(0) - 1;
            for (int i = 0; i < ans.GetLength(0); i++)
            {
                for (int j = 0; j < ans.GetLength(1); j++)
                {
                    ans[i, j] = a[k - j, i];
                }
            }
            return ans;
        }
 
        private static int[,] rotate90CounterClockwise(int[,] a)
        {
            int[,] ans = new int[a.GetLength(1), a.GetLength(0)];
            int k = a.GetLength(1) - 1;
            for (int i = 0; i < ans.GetLength(0); i++)
            {
                for (int j = 0; j < ans.GetLength(1); j++)
                {
                    ans[i, j] = a[j, k-i];
                }
            }
            return ans;
        }

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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