В матрице поменять местами наибольшие элементы в первом и последнем столбце - C#
Формулировка задачи:
В матрице (задаётся вручную) поменять местами наибольшие элементы в 1ом и последнем столбце.
Помогите найти ошибку
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Введите элементы массива: "); int m, n, i, j; int i1 = 0; int j1 = 0; int i2 = 0; int j2 = 0; m=int.Parse(Console.ReadLine()); n = int.Parse(Console.ReadLine()); int[,] mass = new int[m, n]; for ( i = 0; i < m; i++) for ( j = 0; j < n; j++) mass[i,j] = int.Parse(Console.ReadLine()); for ( i = 0; i < m; i++) { for ( j = 0; j < n; j++) Console.Write(mass[i, j] + "\t"); Console.WriteLine(); } int max = mass[0, 0]; int max1 = mass[0, 0]; int p = mass[0, 0]; Console.Write("Нажмите Enter для продолжения"); Console.ReadLine(); for (i = 0; i < m; i++) for ( j = 0; j < n; j++) { if (mass[i, j] > max) { max = mass[i, j]; i1 = i; j1 = j; } } for ( i = 0; i < m; i++) for ( j = n - 1; j > m; j--) { if (mass[i, j] > max1) { max1 = mass[i, j]; i2 = i; j2 = j; } } mass[i1, j1] = max; mass[i2, j2] = max1; for ( i = 0; i < m; i++) for ( j = 0; j < n; j++) p = mass[i1, j1]; mass[i1, j1] = mass[i2, j2]; mass[i2, j2] = p; Console.WriteLine("Меняем значения {0}(максимальное число 1го столбца) и {1}" + "(максимально число последнего столбца) друг с другом", max, max1); Console.Write("Нажми Enter для замены местами элементов"); Console.ReadLine(); for ( i = 0; i < m; i++) { for ( j = 0; j < n; j++) Console.Write(mass[i, j] + "\t"); Console.WriteLine(); } Console.ReadLine(); } } }
Решение задачи: «В матрице поменять местами наибольшие элементы в первом и последнем столбце»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int m, n, i, j; int i1 = 0; int i2 = 0; Console.WriteLine("Введите кол-во строк: "); m = int.Parse(Console.ReadLine()); Console.WriteLine("Введите кол-во столбцов: "); n = int.Parse(Console.ReadLine()); int[,] mass = new int[m, n]; Console.WriteLine("Введите элементы массива: "); for (i = 0; i < m; i++) for (j = 0; j < n; j++) mass[i, j] = int.Parse(Console.ReadLine()); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) Console.Write(mass[i, j] + "\t"); Console.WriteLine(); } int max = mass[0, 0]; int max1 = mass[0, n-1]; Console.Write("Нажмите Enter для продолжения"); Console.ReadLine(); for (i = 0; i < m; i++) { if (mass[i, 0] > max) { max = mass[i, 0]; i1 = i; } if (mass[i, n - 1] > max1) { max1 = mass[i, n - 1]; i2 = i; } } mass[i2, n-1] = max; mass[i1, 0] = max1; Console.WriteLine("Меняем значения {0}(максимальное число 1го столбца) и {1}" + "(максимально число последнего столбца) друг с другом", max, max1); Console.Write("Нажми Enter для замены местами элементов"); Console.ReadLine(); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) Console.Write(mass[i, j] + "\t"); Console.WriteLine(); } Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д