Перестановка столбцов - C#

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

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

Добрый день! Написал код к задаче "Дана целочисленная матрица размера 6х9. найти матрицу получающуюся из данной перестановкой столбцов - первого с последним, второго с предпоследним и т.д.". В результате 4 столбца переносятся, далее пусто. в чем проблема?
const int n = 6;
            const int m = 9;
            int[,] M = new int[n, m];
            int i = 0, j = 0;
            Random rand = new Random();
            int x;
            Console.WriteLine(" Исходная матрица 6х9 ");
            Console.WriteLine("-----------------------");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                {
                    M[i, j] = rand.Next(-100, 100);
                    Console.Write(M[i, j] + "\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine("-----------------------");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m/2; j++)
                {
                    x = M[i, j];
                    M[i, j] = M[i, m - j -1];
                    M[i, m - j - 1] = x;
                    Console.Write(M[i, j] + "\t");
                }
 
                Console.WriteLine();
            }                          
                Console.ReadKey();

Решение задачи: «Перестановка столбцов»

textual
Листинг программы
const int n = 6;
            const int m = 9;
            int[,] M = new int[n, m];
            int i = 0, j = 0;
            Random rand = new Random();
            int x;
            Console.WriteLine(" Исходная матрица 6х9 ");
            Console.WriteLine("-----------------------");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                {
                    M[i, j] = rand.Next(-100, 100);
                    Console.Write(M[i, j] + "\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine("-----------------------");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                {
                    if(j<m/2)
                    {
                        x = M[i, j];
                        M[i, j] = M[i, m - j - 1];
                        M[i, m - j - 1] = x;
                    }                        
                                        
                    Console.Write(M[i, j] + "\t");
                }
                Console.WriteLine();
            }

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


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

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

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