В матрице поменять местами наибольшие элементы в первом и последнем столбце - 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();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д