Действия с двумерными массивами - C#

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

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

Даны два двумерных квадратных массива (размера nxn), заполненных рандомными числами (разными, соответственно). Надо получить новый массив "путём прибавления к элементам каждого столбца первого массива произведение элементов соответствующих строк второго массива". Допустим, я объявил два таких массива, а дальше как это собрать? (Если не сложно, подскажите ещё как сократить объявление массивов)
Листинг программы
  1. static void Main(string[] args)
  2. {
  3. Console.WriteLine("Введите размер массива размера n1xn1");
  4. int n1 = int.Parse(Console.ReadLine());
  5. int m1 = n1;
  6. int[,] A = new int[n1, m1];
  7. Console.WriteLine("Введите начало отрезка с которого будет начинаться случайное заполнение массива");
  8. int c1 = int.Parse(Console.ReadLine());
  9. Console.WriteLine("Введите конец отрезка где будет заканчиваться случайное заполнение массива");
  10. int d1 = int.Parse(Console.ReadLine());
  11. Random r1 = new Random();
  12. for (int i = 0; i < n1; i++)
  13. {
  14. for (int j = 0; j < m1; j++)
  15. A[n1, m1] = r.Next(c, d);
  16. }
  17. Console.WriteLine("Введите размер массива размера n2xn2");
  18. int n2 = int.Parse(Console.ReadLine());
  19. int m2 = n1;
  20. int[,] B = new int[n1, m1];
  21. Console.WriteLine("Введите начало отрезка с которого будет начинаться случайное заполнение массива");
  22. int c2 = int.Parse(Console.ReadLine());
  23. Console.WriteLine("Введите конец отрезка где будет заканчиваться случайное заполнение массива");
  24. int d2 = int.Parse(Console.ReadLine());
  25. Random r2 = new Random();
  26. for (int i = 0; i < n2; i++)
  27. {
  28. for (int j = 0; j < m2; j++)
  29. A[n1, m1] = r2.Next(c2, d2);
  30. }
  31. }

Решение задачи: «Действия с двумерными массивами»

textual
Листинг программы
  1. static Random R = new Random();
  2.  
  3. static int[,] InputMatrix(int N)
  4. {
  5.     int[,] A = new int[N, N];
  6.     Console.WriteLine("Введите начало отрезка с которого будет начинаться случайное заполнение массива");
  7.     int c = int.Parse(Console.ReadLine());
  8.     Console.WriteLine("Введите конец отрезка где будет заканчиваться случайное заполнение массива");
  9.     int d = int.Parse(Console.ReadLine());
  10.     for (int i = 0; i < N; i++)
  11.         for (int j = 0; j < N; j++)
  12.             A[i, j] = R.Next(c, d+1);
  13.     return A;
  14. }
  15.  
  16. static void Modify(int[,] A, int[,] B)
  17. {
  18.     int N = A.GetLength(0);
  19.     for (int j = 0; j < N; j++)
  20.     {
  21.         int P = 1;
  22.         for (int x = 0; x < N; x++)
  23.             P *= B[j, x];
  24.         for (int i = 0; i < N; i++)
  25.             A[i, j] += P;
  26.     }
  27. }
  28.  
  29. static void OutputMatrix(int[,] A)
  30. {
  31.     int N = A.GetLength(0);
  32.     for (int i = 0; i < N; i++)
  33.     {
  34.         for (int j = 0; j < N; j++)
  35.             Console.Write("{0,4}", A[i, j]);
  36.         Console.WriteLine();
  37.     }
  38. }
  39.  
  40. static void Main(string[] args)
  41. {
  42.     Console.WriteLine("Введите размер квадратных матриц: ");
  43.     int N = int.Parse(Console.ReadLine());
  44.    
  45.     Console.WriteLine("Инициализация первой матрицы");
  46.     int[,] A = InputMatrix(N);
  47.     OutputMatrix(A);
  48.     Console.WriteLine();
  49.    
  50.     Console.WriteLine("Инициализация второй матрицы");
  51.     int[,] B = InputMatrix(N);
  52.     OutputMatrix(B);
  53.     Console.WriteLine();
  54.    
  55.     Modify(A, B);
  56.     OutputMatrix(A);
  57. }

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


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

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

15   голосов , оценка 4.533 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы