В матрице поменять местами наибольшие элементы в первом и последнем столбце - 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();
}
}
}