二维数组 (arr) 中位于最小数 (int min = int.MaxValue;) 之前的元素必须重写为单独的一维数组 (mas) 并按递增数排序。我的 mas[i] 显示了一堆零。
using System;
using static System.Console;
using static System.Array;
namespace ConsoleApp4
{
class Program
{
static void z3(int[,] arr)
{
int min = int.MaxValue;
int m_i = 0, m_j = 0;
int [] mas = new int [100];
for (int i = 0; i < arr.GetLength(0); i++)
{
for (int j = 0; j < arr.GetLength(1); j++)
{
if (arr[i, j] < min)
{
min = arr[i, j];
m_i = i;
m_j = j;
}
}
}
WriteLine("min = " + min + "\n m_i = " + m_i + "\n m_j = " + m_j);
int k = 0;
for (int i = 0; i < arr.GetLength(0); i++)
{
for (int j = 0; j < arr.GetLength(1); j++)
{
if (i == m_i && j == m_j)
{
break;
}
else
{
mas[k] = arr[i, j];
k++;
}
}
}
WriteLine();
WriteLine();
WriteLine();
for (int i1 = 0; i1 < mas.Length; i1++)
{
Write(mas[i1] + "\t");
}
WriteLine();
Sort(mas);
for (int i1 = 0; i1 < mas.Length; i1++)
{
Write(mas[i1] + "\t");
}
WriteLine();
}
static void Main(string[] args)
{
Write("Введите ширину массива: ");
int M = int.Parse(ReadLine());
Write("Введите длинну массива: ");
int N = int.Parse(ReadLine());
Write("Введите диапазон массива: ");
Write("\n\tВведите минимальное число: ");
int A = int.Parse(ReadLine());
Write("\n\tВведите максимальное число: ");
int B = int.Parse(ReadLine());
int[,] arr = new int[M, N];
Random a = new Random();
for (int i = 0; i < arr.GetLength(0); i++)
{
for (int j = 0; j < arr.GetLength(1); j++)
{
arr[i,j] = a.Next(A, B);
}
}
for (int i = 0; i < arr.GetLength(0); i++)
{
for (int j = 0; j < arr.GetLength(1); j++)
{
Write("\t" + arr[i,j]);
}
WriteLine();
}
z3(arr);
}
}
}

1 个回答