Вопрос задан 25.09.2023 в 01:01. Предмет Информатика. Спрашивает Энгель Светлана.

Дана прямоугольная матрица А(8;6). Вывести в текстовое окно все элементы которые обладают следующим

свойством. Элемент является максимальным в строке, где он находится, и одновременно минимальным в столбце, в котором он размещен, либо наоборот - минимальным в своей строке и максимальным в своем столбце. Если таких элементов нет, то выдать об этом сообщение. Код на С# нужен. Двумерные массивы. если шарите в window.form (Графический интерфейс должен иметь один элемент button и два текстовых окна.) // главное код!! Хелп((
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Никитина Поля.

private void button1_Click(object sender, EventArgs e)

{

   int[,] A = new int[,]

   {

       { 1, 2, 3, 4, 5, 6 },

       { 7, 8, 9, 10, 11, 12 },

       { 13, 14, 15, 16, 17, 18 },

       { 19, 20, 21, 22, 23, 24 },

       { 25, 26, 27, 28, 29, 30 },

       { 31, 32, 33, 34, 35, 36 },

       { 37, 38, 39, 40, 41, 42 },

       { 43, 44, 45, 46, 47, 48 }

   };

   string result = "";

   bool isFound = false;

   for (int i = 0; i < A.GetLength(0); i++)

   {

       for (int j = 0; j < A.GetLength(1); j++)

       {

           int cur = A[i, j];

           bool isMaxInRow = true;

           bool isMinInColumn = true;

           for (int k = 0; k < A.GetLength(1); k++)

           {

               if (A[i, k] > cur)

               {

                   isMaxInRow = false;

                   break;

               }

           }

           for (int k = 0; k < A.GetLength(0); k++)

           {

               if (A[k, j] < cur)

               {

                   isMinInColumn = false;

                   break;

               }

           }

           if ((isMaxInRow && isMinInColumn) || (!isMaxInRow && !isMinInColumn))

           {

               result += cur + " ";

               isFound = true;

           }

       }

   }

   if (isFound)

   {

       textBox1.Text = "Результат:\r\n" + result;

   }

   else

   {

       textBox1.Text = "Таких элементов нет.";

   }

}

Здесь создается двумерный массив A размером 8x6 и заполняется некоторыми значениями. Затем происходит перебор всех элементов матрицы, и для каждого элемента проверяется, является ли он максимальным в своей строке и минимальным в своем столбце (или наоборот). Если это условие выполняется, то элемент добавляется в строку result, которая в конце выводится в текстовое окно textBox1. Если таких элементов нет, то в текстовое окно выводится соответствующее сообщение.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для выполнения этой задачи вам потребуется создать Windows Forms приложение на C#. В нем будет одна кнопка и два текстовых окна, как вы указали. Вот пример кода для такого приложения:

csharp
using System; using System.Windows.Forms; namespace MaxMinMatrixElements { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void buttonFindElements_Click(object sender, EventArgs e) { // Получаем текст из текстового окна и разбиваем его на строки string[] lines = textBoxMatrix.Text.Split('\n'); // Инициализируем двумерный массив int[,] matrix = new int[lines.Length, lines[0].Split().Length]; // Заполняем массив значениями из текстового окна for (int i = 0; i < lines.Length; i++) { string[] values = lines[i].Split(); for (int j = 0; j < values.Length; j++) { matrix[i, j] = int.Parse(values[j]); } } // Поиск максимальных элементов в строках и минимальных элементов в столбцах bool found = false; string result = ""; for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { int currentElement = matrix[i, j]; bool isMaxInRow = true; bool isMinInColumn = true; for (int k = 0; k < matrix.GetLength(1); k++) { if (k != j && currentElement < matrix[i, k]) { isMaxInRow = false; break; } } for (int k = 0; k < matrix.GetLength(0); k++) { if (k != i && currentElement > matrix[k, j]) { isMinInColumn = false; break; } } if (isMaxInRow || isMinInColumn) { found = true; result += $"Элемент в строке {i + 1}, столбце {j + 1}: {currentElement}\n"; } } } // Отображаем результат if (found) { textBoxResult.Text = result; } else { textBoxResult.Text = "Таких элементов нет."; } } } }

Этот код создает Windows Forms приложение с двумя текстовыми окнами (textBoxMatrix и textBoxResult) и одной кнопкой (buttonFindElements). При нажатии на кнопку, код разбирает матрицу из текстового окна, а затем находит элементы, соответствующие заданному условию, и выводит их во втором текстовом окне (textBoxResult).

Не забудьте создать соответствующий интерфейс в дизайнере формы и привязать обработчик события для кнопки (buttonFindElements) к методу buttonFindElements_Click.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос