• ПОМОГИТЕ ПОЖАЛУЙСТА решить задачу на двумерный массив - Язык C#.
    Я написал задачу, но нужно подправить её
    "
    /*Заполнить массив [X,Y] случайными двузначными числами, распечатать в табличном виде, а затем транспонировать
    (строки сделать столбцами, а столбцы строками) и распечатать рядом с первым массивом.*/
    Console.Write("Введите диапазон массива x = ");
    int x = Convert.ToInt32(Console.ReadLine());
    Console.Write("Введите диапазон массива y = ");
    int y = Convert.ToInt32(Console.ReadLine());
    int[,] m = new int[x,y];
    Random r = new Random();
    for (int j = 0; j < y; j++)
    {
    for (int i = 0; i < x; i++)
    {
    m[i, j] = r.Next(10, 99);
    Console.Write(m[i, j] + "\t");
    }
    Console.WriteLine();
    }
    Console.WriteLine();
    for (int i = 0; i < x; i++)
    {
    for (int j = 0; j < y; j++)
    {

    Console.Write(m[j, i] + "\t");
    }
    Console.WriteLine();
    }
    Console.ReadKey();
    "

Ответы 1

  • using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    namespace KekTus

    {

       class Program

       {

           static void PrintArr(int[][] arr)

           {

               foreach (var str in arr)

               {

                   foreach (var el in str)

                       Console.Write($"{el}\t");

                   Console.WriteLine();

               }

           }

           static void Main(string[] args)

           {

               int M;

               int N;

               try

               {

                   Console.Write("M = "); M = int.Parse(Console.ReadLine());

                   Console.Write("N = "); N = int.Parse(Console.ReadLine());

               }

               catch

               {

                   Console.WriteLine("Ошибка ввода");

                   return;

               }

               if (N < 0 || M < 0)

               {

                   Console.WriteLine("Ошбка ввода");

                   return;

               }

               Console.WriteLine("M = {0}; N = {1}.", M, N);

               int[][] Arr    = new int[M][];

               var rand = new Random();

               for(int i = 0; i < M; ++i)

               {

                   Arr[i] = new int[N];

                   for (int j = 0; j < N; ++j)

                       Arr[i][j] = rand.Next() % 500;

               }

               Console.WriteLine("Исходный массив:");

               PrintArr(Arr);

               Console.WriteLine();

               int[][] Buffer = new int[N][];

               for (int j = 0; j < N; ++j)

                   Buffer[j] = new int[M];

               for (int i = 0; i < M; ++i)

                   for (int j = 0; j < N; ++j)

                       Buffer[j][i] = Arr[i][j];

               Arr = Buffer;

               Console.WriteLine("Преобразованный:");

               PrintArr(Arr);

               Console.WriteLine();

           }

       }

    }

    answer img
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years