В матрице поменять местами наибольшие элементы в первом и последнем столбце - C#

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

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

В матрице (задаётся вручную) поменять местами наибольшие элементы в 1ом и последнем столбце. Помогите найти ошибку
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication1
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. Console.WriteLine("Введите элементы массива: ");
  13. int m, n, i, j;
  14. int i1 = 0;
  15. int j1 = 0;
  16. int i2 = 0;
  17. int j2 = 0;
  18. m=int.Parse(Console.ReadLine());
  19. n = int.Parse(Console.ReadLine());
  20. int[,] mass = new int[m, n];
  21. for ( i = 0; i < m; i++)
  22. for ( j = 0; j < n; j++)
  23. mass[i,j] = int.Parse(Console.ReadLine());
  24.  
  25. for ( i = 0; i < m; i++)
  26. {
  27. for ( j = 0; j < n; j++)
  28. Console.Write(mass[i, j] + "\t");
  29. Console.WriteLine();
  30. }
  31. int max = mass[0, 0];
  32. int max1 = mass[0, 0];
  33. int p = mass[0, 0];
  34. Console.Write("Нажмите Enter для продолжения");
  35. Console.ReadLine();
  36. for (i = 0; i < m; i++)
  37. for ( j = 0; j < n; j++)
  38. {
  39. if (mass[i, j] > max)
  40. {
  41. max = mass[i, j];
  42. i1 = i;
  43. j1 = j;
  44. }
  45. }
  46.  
  47. for ( i = 0; i < m; i++)
  48. for ( j = n - 1; j > m; j--)
  49. {
  50. if (mass[i, j] > max1)
  51. {
  52. max1 = mass[i, j];
  53. i2 = i;
  54. j2 = j;
  55. }
  56. }
  57. mass[i1, j1] = max;
  58. mass[i2, j2] = max1;
  59. for ( i = 0; i < m; i++)
  60. for ( j = 0; j < n; j++)
  61. p = mass[i1, j1];
  62. mass[i1, j1] = mass[i2, j2];
  63. mass[i2, j2] = p;
  64.  
  65. Console.WriteLine("Меняем значения {0}(максимальное число 1го столбца) и {1}" +
  66. "(максимально число последнего столбца) друг с другом", max, max1);
  67. Console.Write("Нажми Enter для замены местами элементов");
  68. Console.ReadLine();
  69.  
  70. for ( i = 0; i < m; i++)
  71. {
  72. for ( j = 0; j < n; j++)
  73. Console.Write(mass[i, j] + "\t");
  74. Console.WriteLine();
  75. }
  76. Console.ReadLine();
  77. }
  78. }
  79. }

Решение задачи: «В матрице поменять местами наибольшие элементы в первом и последнем столбце»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApplication1
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int m, n, i, j;
  14.             int i1 = 0;
  15.             int i2 = 0;
  16.             Console.WriteLine("Введите кол-во строк: ");
  17.             m = int.Parse(Console.ReadLine());
  18.             Console.WriteLine("Введите кол-во столбцов: ");
  19.             n = int.Parse(Console.ReadLine());
  20.             int[,] mass = new int[m, n];
  21.             Console.WriteLine("Введите элементы массива: ");
  22.             for (i = 0; i < m; i++)
  23.                 for (j = 0; j < n; j++)
  24.                     mass[i, j] = int.Parse(Console.ReadLine());
  25.  
  26.             for (i = 0; i < m; i++)
  27.             {
  28.                 for (j = 0; j < n; j++)
  29.  
  30.                     Console.Write(mass[i, j] + "\t");
  31.                 Console.WriteLine();
  32.             }
  33.  
  34.             int max = mass[0, 0];
  35.             int max1 = mass[0, n-1];
  36.  
  37.             Console.Write("Нажмите Enter для продолжения");
  38.             Console.ReadLine();
  39.  
  40.             for (i = 0; i < m; i++)
  41.             {
  42.                 if (mass[i, 0] > max)
  43.                 {
  44.                     max = mass[i, 0];
  45.                     i1 = i;
  46.                 }
  47.                 if (mass[i, n - 1] > max1)
  48.                 {
  49.                     max1 = mass[i, n - 1];
  50.                     i2 = i;
  51.                 }
  52.             }
  53.  
  54.             mass[i2, n-1] = max;
  55.             mass[i1, 0] = max1;
  56.  
  57.             Console.WriteLine("Меняем значения {0}(максимальное число 1го столбца) и {1}" +
  58.             "(максимально число последнего столбца) друг с другом", max, max1);
  59.             Console.Write("Нажми Enter для замены местами элементов");
  60.             Console.ReadLine();
  61.  
  62.             for (i = 0; i < m; i++)
  63.             {
  64.                 for (j = 0; j < n; j++)
  65.  
  66.                     Console.Write(mass[i, j] + "\t");
  67.                 Console.WriteLine();
  68.             }
  69.             Console.ReadLine();
  70.  
  71.         }
  72.     }
  73. }

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


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

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

12   голосов , оценка 4.333 из 5

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

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

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