.NET 4.x Составить программу сортировки (в 5-и вариантах) - C#

Узнай цену своей работы

Формулировка задачи:

а) элементов каждой строки двухмерного массива б) элементов каждого столбца двумерного массива в) элементов двухмерного массива г) строк по содержанию элементов указанного номера столбца двухмерного массива д) столбцов по содержанию элементов указанного номера строки двухмерного массива В комментарии вариант сортировки взят из С++, но я не понимаю как перевести его в С#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace nomber6
{
    class Program
    {
        static void Main(string[] args)
        {
            int i, j;
            const int n = 5, m = 5;
            int[,] A = new int[n, m];
            Random rnd = new Random();
 
            Console.WriteLine("Массив №1:");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < n; j++)
                {
                    A[i, j] = rnd.Next(-50, 50);
                    Console.Write("{0}\t", A[i, j]);
                }
                Console.WriteLine();
            }
            for (i = 0; i < n; i++)
                for (j = 0; j < m; j++)
                    for (int g = 0; g < m - 1; g++)
                        if (A[j, g] < A[j, g + 1])
                        {
                            int temp = A[j, g];
                            A[j, g] = A[j, g + 1];
                            A[j, g + 1] = temp;
                        }
            Console.WriteLine("а) Сортировка рядков елементов двумерного массива:");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                    Console.Write("{0}\t", A[i, j]);
                Console.WriteLine();
            }
 
            Console.WriteLine("Массив №2:");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                {
                    A[i, j] = rnd.Next(-50, 50);
                    Console.Write("{0}\t", A[i, j]);
                }
                Console.WriteLine();
            }
            for (i = 0; i < n; i++)
                for (j = 0; j < m - 1; j++)
                    for (int g = 0; g < m; g++)
                        if (A[j, g] < A[j + 1, g])
                        {
                            int temp = A[j, g];
                            A[j, g] = A[j + 1, g];
                            A[j + 1, g] = temp;
                        }
            Console.WriteLine("б) Сортировка столпцов елементов двумерного массива:");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                    Console.Write("{0}\t", A[i, j]);
                Console.WriteLine();
            }
 
            Console.WriteLine("\nМассив №3:");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                {
                    A[i, j] = rnd.Next(-50, 50);
                    Console.Write("{0}\t", A[i, j]);
                }
                Console.WriteLine();
            }
            for (int k = 0; k < n; k++)
            {
                for (int l = 0; l < m; l++)
                {
                    for (i = 0; i < n; i++)
                    {
                        for (j = 0; j < m; j++)
                        {
                            if (i + 1 == n && j + 1 == m)
                            {
                                continue;
                            }
                            else
                            {
                                if (j + 1 == m && A[i, j] > A[i + 1, 0])
                                {
                                    int t = A[i, j];
                                    A[i, j] = A[i + 1, 0];
                                    A[i + 1, 0] = t;
                                }
                                else
                                {
                                    if (j + 1 != m && A[i, j] > A[i, j + 1])
                                    {
                                        int t = A[i, j];
                                        A[i, j] = A[i, j + 1];
                                        A[i, j + 1] = t;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            Console.WriteLine("в) Сортировка елементов двумерного массива:");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                    Console.Write("{0}\t", A[i, j]);
                Console.WriteLine();
            }
 
            Console.WriteLine("Массив №4:");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                {
                    A[i, j] = rnd.Next(-50, 50);
                    Console.Write("{0}\t", A[i, j]);
                }
                Console.WriteLine();
            }
            //int h = 8;
            for (i = 0; i < n; i++)
                for (j = 0; j < m; j++)
                    //if (mas[j, stolb + h] > mas[(j + 1), stolb + h]) 
                    for (int g = 0; g < m - 1; g++)
                        if (A[j, g] < A[j, g + 1])
                        {
                            int temp = A[j, g];
                            A[j, g] = A[j, g + 1];
                            A[j, g + 1] = temp;
                        }
            Console.WriteLine("г) Сортировка строк по значениям элементов указанных по номеру столбца двумерного массива:");
            for (i = 0; i < 5; i++)
            {
                for (j = 0; j < 5; j++)
                    Console.Write("{0}\t", A[i, j]);
                Console.WriteLine();
            }
 
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}

Решение задачи: «.NET 4.x Составить программу сортировки (в 5-и вариантах)»

textual
Листинг программы
Console.WriteLine("Массив №4:");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                {
                    A[i, j] = rnd.Next(-50, 50);
                    Console.Write("{0}\t", A[i, j]);
                }
                Console.WriteLine();
            }
            //int h = 8;
            for (i = 0; i < n; i++)
                for (j = 0; j < m; j++)
                    //if (mas[j, stolb + h] > mas[(j + 1), stolb + h]) 
                    for (int g = 0; g < m - 1; g++)
                        if (A[j, g] < A[j, g + 1])
                        {
                            int temp = A[j, g];
                            A[j, g] = A[j, g + 1];
                            A[j, g + 1] = temp;
                        }
            Console.WriteLine("г) Сортировка строк по значениям элементов указанных по номеру столбца двумерного массива:");
            for (i = 0; i < 5; i++)
            {
                for (j = 0; j < 5; j++)
                    Console.Write("{0}\t", A[i, j]);
                Console.WriteLine();
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.2 из 5
Похожие ответы