Matrix51. Дана матрица размера M × N. Поменять местами строки, содержащие минимальный и максимальные элементы матрицы. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Matrix51. Дана матрица размера M × N. Поменять местами строки, содержащие минимальный и максимальные элементы матрицы.

Поиск

№5.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace WindowsFormsApp6

{

public partial class Form1 : Form

{

   int m, n, p;

 

   private void button2_Click(object sender, EventArgs e)

   {

       Random rnd = new Random();

       for (int j = 0; j < m; j++)

           for (int i = 0; i < n; i++)

               dataGridView1[i, j].Value = rnd.Next(10) - 5;

 

       for (int j = 0; j < n; j++)

           for (int i = 0; i < p; i++)

               dataGridView2[i, j].Value = rnd.Next(10) - 5;

       button1.Enabled = false;

       button2.Enabled = false;

       button3.Enabled = true;

 

   }

 

   private void button3_Click(object sender, EventArgs e)

   {

       button1.Enabled = true;

       button2.Enabled = false;

       button3.Enabled = false;

 

       int[,] a = new int[m, n];

       int[,] b = new int[n, p];

       int[,] resMass = new int[m, p];

 

       for (int j = 0; j < m; j++)

           for (int i = 0; i < n; i++)

               a[j, i] = (int)dataGridView1[i, j].Value;

 

       for (int j = 0; j < n; j++)

           for (int i = 0; i < p; i++)

               b[j, i] = (int)dataGridView2[i, j].Value;

 

       for (int i = 0; i < m; i++)

           for (int j = 0; j < p; j++)

               for (int k = 0; k < n; k++)

                   resMass[i, j] += a[i, k] * b[k, j];

 

       for (int j = 0; j < m; j++)

           for (int i = 0; i < p; i++)

               dataGridView3[i, j].Value = resMass[j, i].ToString();

 

   }

 

   public Form1()

   {

       InitializeComponent();

   }

 

   private void button1_Click(object sender, EventArgs e)

   {

       m = (int)numericUpDown1.Value;

       n = (int)numericUpDown2.Value;

       p = (int)numericUpDown3.Value;

       dataGridView1.Rows.Clear();

       dataGridView1.Columns.Clear();

       for (int i = 0; i < n; i++) dataGridView1.Columns.Add(i.ToString(), (i + 1).ToString());

       for (int i = 0; i < m; i++) dataGridView1.Rows.Add();

 

        dataGridView2.Rows.Clear();

       dataGridView2.Columns.Clear();

       for (int i = 0; i < p; i++) dataGridView2.Columns.Add(i.ToString(), (i + 1).ToString());

       for (int i = 0; i < n; i++) dataGridView2.Rows.Add();

 

       dataGridView3.Rows.Clear();

       dataGridView3.Columns.Clear();

       for (int i = 0; i < p; i++) dataGridView3.Columns.Add(i.ToString(), (i + 1).ToString());

       for (int i = 0; i < m; i++) dataGridView3.Rows.Add();

      button1.Enabled = false;

       button2.Enabled = true;

       button3.Enabled = false;

   }

}

}

 

 

Console:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApp1

{

class Program

{

   static void Main(string[] args)

   {

       int m, n, max, min, p, maxi = 0, maxj = 0, mini = 0, minj = 0;

       Console.WriteLine("Поменять местами максимум и минимум в матрице!\n\n");

       Console.WriteLine("Ввод размерности матрицы Mas[m,n]:");

       Console.Write("\nВведи m -> ");

       m = Convert.ToInt32(Console.ReadLine());

       Console.Write("\nВведи n -> ");

       n = Convert.ToInt32(Console.ReadLine());

       int[,] Mas = new int[m, n];

       Console.WriteLine("\nВвод матрицы: ");

       for (int i = 0; i < m; i++)

           for (int j = 0; j < n; j++)

           {

               Console.Write("\nВведи Mas[{0},{1}]: ", i, j);

               Mas[i, j] = Convert.ToInt32(Console.ReadLine());

               Console.WriteLine("");

           }

       Console.WriteLine("\nИсходная матрица: ");

       for (int i = 0; i < m; i++)

       {

           Console.WriteLine("\n");

           for (int j = 0; j < n; j++)

           {

               Console.Write("{0} ", Mas[i, j]);

           }

       }

       min = int.MaxValue; max = int.MinValue;

       for (int i = 0; i < m; i++)

           for (int j = 0; j < n; j++)

           {

               if (Mas[i, j] > max)

               {

                   max = Mas[i, j];

                   maxi = i;

                   maxj = j;

               }

               if (Mas[i, j] < min)

               {

                   min = Mas[i, j];

                   mini = i;

                   minj = j;

               }

           }

       p = Mas[maxi, maxj];  //меняем местами максимум с минимумом

       Mas[maxi, maxj] = Mas[mini, minj];

       Mas[mini, minj] = p;

       min = int.MaxValue; max = int.MinValue;

       Console.WriteLine("\n\nОбработанная матрица:замена макс с мин ");

       for (int i = 0; i < m; i++)

       {

           Console.WriteLine("\n");

           for (int j = 0; j < n; j++)

           {

               Console.Write("{0} ", Mas[i, j]);

           }

       }

       Console.ReadKey();

   }

}}

 



Поделиться:


Последнее изменение этой страницы: 2024-06-17; просмотров: 47; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.007 с.)