Как сдвинуть матрицу влево? - C#

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

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

Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7. namespace ConsoleApplication1
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. Random rnd = new Random();
  14. int n = rnd.Next(6, 6);
  15. int m = rnd.Next(6, 6);
  16. int[,] a = new int[n, m];
  17. Console.WriteLine("Дана матрица {0}x{1}:", n, m);
  18. for (int i = 0; i < n; i++)
  19. {
  20. for (int j = 0; j < m; j++)
  21. {
  22. a[i, j] = rnd.Next(0, 100);
  23. Console.Write("{0, 4}", a[i, j]);
  24. }
  25. Console.WriteLine();
  26. }
  27. Console.WriteLine("Если хотите сдвинуть матрицу вправо введите 1, если вниз - 0");
  28. double x = double.Parse(Console.ReadLine());
  29. {
  30. if (x == 1)
  31. {
  32. Console.WriteLine();
  33. Console.WriteLine("Матрица передвигается вправо");
  34. Console.WriteLine();
  35. Console.WriteLine("Укажите величину сдвига: ");
  36. Console.WriteLine();
  37. int k = int.Parse(Console.ReadLine());
  38. for (int b = 1; b <= k; b++)
  39. for (int i = 0; i < n/2; i++)
  40. {
  41. int t = a[i, m - 1];
  42. for (int j = m - 1; j > 0; j--)
  43. a[i, j] = a[i, j - 1];
  44. a[i, 0] = t;
  45. }
  46. Console.WriteLine("Сдвинутая матрица: ");
  47. for (int i = 0; i < n; i++)
  48. {
  49. for (int j = 0; j < m; j++)
  50. Console.Write("{0, 4}", a[i, j]);
  51. Console.WriteLine();
  52. }
  53. }
  54. if (x == 0)
  55. {
  56. Console.WriteLine();
  57. Console.WriteLine("Матрица передвигается вниз");
  58. Console.WriteLine();
  59. Console.WriteLine("Укажите величину сдвига: ");
  60. Console.WriteLine();
  61. int k = int.Parse(Console.ReadLine());
  62. for (int b = 1; b <= k; b++)
  63. for (int j = 0; j < m; j++)
  64. {
  65. int t = a[n - 1, j];
  66. for (int i = n - 1; i > 0; i--)
  67. a[i, j] = a[i - 1, j];
  68. a[0, j] = t;
  69. }
  70. Console.WriteLine("Сдвинутая матрица: ");
  71. for (int i = 0; i < n; i++)
  72. {
  73. for (int j = 0; j < m; j++)
  74. Console.Write("{0, 4}", a[i, j]);
  75. Console.WriteLine();
  76. }
  77. }
  78. if (x < 0 || x > 1)
  79. {
  80. //Console.ReadKey();
  81.  
  82. Console.WriteLine("введите 1 или 0");
  83. }
  84. Console.ReadKey();
  85. }
  86. }
  87. }
  88. }

Решение задачи: «Как сдвинуть матрицу влево?»

textual
Листинг программы
  1. for (int b = 1; b <= k; b++)
  2.     for (int i = 0; i < n; i++)
  3.     {
  4.         int t = a[i, 0];
  5.         for (int j = 0; j < m - 1; j++)
  6.             a[i, j] = a[i, j + 1];
  7.         a[i, m - 1] = t;
  8.     }

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


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

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

14   голосов , оценка 4.143 из 5

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

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

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