Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
itisfuture
1

Отсортировать нижнюю половину элементов матрицы

11.11.2012, 22:36. Показов 571. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Используемый метод сортировки - модифицированный метод простого выбора.
Не сортирует, хотя сделано по аналогии с другой - сортировка пузырьком.

C#
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication4
{
    class Program
    {
        static public void sort(ref int[,] arr, int index, int sizeX, int sizeY)
        {
            for (int N = index; N < sizeX; N++)
            {
 
                int i = 0;
                do
                {
                    if (arr[N, i] != 0) 
                    {
                        int tempmax = arr[N, i];
                        int tempmaxNO = i;
                        for (int j = i; j < sizeX; j++) 
                        {
                            if ((tempmax < arr[N, j]) & (arr[N, j] != 0))
                            {
                                tempmax = arr[N, j];
                                tempmaxNO = j;
                            }
                        }
                        int temp = arr[N, i];
                        arr[N, i] = arr[N, tempmaxNO];
                        arr[N, tempmaxNO] = temp;
                    }
                    i++;
                }
                while (i != sizeY - 1);
 
            }
 
        }
        public static void print(int[,] data, int sizeX, int sizeY) 
        {
            for (int i = 0; i < sizeX; i++)
            {
                for (int j = 0; j < sizeY; j++)
                {
                    Console.Write(data[i, j] + " ");
                }
                Console.WriteLine();
            }
        }
        static void Main(string[] args)
        {
            Random r = new Random();
            int sizeX = r.Next(1, 10); 
            int sizeY = r.Next(1, 10); 
            int[,] data = new int[sizeX, sizeY]; 
            for (int i = 0; i < sizeX; i++) 
            {
                for (int j = 0; j < sizeY; j++)
                {
                    data[i, j] = r.Next(0, 10);
                }
            }
            print(data, sizeX, sizeY);
            sort(ref data, sizeX / 2, sizeX, sizeY); 
            Console.WriteLine("--------------------------------");
            print(data, sizeX, sizeY); //
            Console.ReadLine();
        }
    }
}
По аналогии с которой делалось:

C#
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
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication2
{
    class Program
    {
        static public void sort(ref int[,] arr, int index, int sizeX, int sizeY) 
        {
            for (int i = index; i < sizeX; i++)  
            {
                for (int j = 0; j < sizeY; j++) 
                {
                    for (int g = 0; g < sizeY - 1 - j; g++) 
                    {
                        if (arr[i, g] > arr[i, g + 1]) 
                        {
                            int temp = arr[i, g];  
                            arr[i, g] = arr[i, g + 1]; 
                            arr[i, g + 1] = temp; 
                        }
                    }
                }
            }
        }
        public static void print(int[,] data, int sizeX, int sizeY) 
        {
            for (int i = 0; i < sizeX; i++)
            {
                for (int j = 0; j < sizeY; j++)
                {
                    Console.Write(data[i, j] + " ");
                }
                Console.WriteLine();
            }
        }
        static void Main(string[] args)
        {
            Random r = new Random();
            int sizeX = r.Next(1, 10); 
            int sizeY = r.Next(1, 10); 
            int[,] data = new int[sizeX, sizeY]; 
            for (int i = 0; i < sizeX; i++) 
            {
                for (int j = 0; j < sizeY; j++)
                {
                    data[i, j] = r.Next(0, 10);
                }
            }
            print(data, sizeX, sizeY); 
            sort(ref data, sizeX / 2, sizeX, sizeY); 
            Console.WriteLine("--------------------------------");
            print(data, sizeX, sizeY); 
            Console.ReadLine();
        }
    }
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2012, 22:36
Ответы с готовыми решениями:

Дана матрица размера M на N (M - четное число). Поменять местами верхнюю и нижнюю половину матрицы
Дана матрица размера M на N (M - четное число). Поменять местами верхнюю и нижнюю половину матрицы.

Задание: заполнить матрицу случайными числами. Отобразить нижнюю половину матрицы на верхнюю зеркально симметрично относительно горизонтальной оси.
Задание: заполнить матрицу случайными числами. Отобразить нижнюю половину матрицы на верхнюю...

Отсортировать диагонали матрицы, параллельные побочной, по возрастанию элементов методом «пузырька»
Дана матрица размерностью n × n, содержащая целые числа. Отсортировать диагонали матрицы,...

Найти путь из левой верхней ячейки в правую нижнюю ячейку матрицы
Нужна помощь, переделать код из Pascal в C# даже лучше если в (Windows Form) Const...

0
11.11.2012, 22:36
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.11.2012, 22:36
Помогаю со студенческими работами здесь

В каждой строке матрицы найти количество элементов делящихся на 3 и отсортировать эти значения с нахождением экстремумов
В каждой строке матрицы найти количество элементов делящихся на 3 и отсортировать эти значения с...

Дана матрица размера M*N (M и N-четные числа). Поменять местами левую верхнюю и правую нижнюю четверти матрицы
Дана матрица размера M*N (M и N-четные числа). Поменять местами левую верхнюю и правую нижнюю...

Дана матрица размера M × N (M и N — четные числа). Поменять местами левую верхнюю и правую нижнюю четверти матрицы
Дана матрица размера M × N (M и N — четные числа). Поменять местами левую верхнюю и правую нижнюю...

Отобразить верхнюю половину матрицы на нижнюю зеркально симметрично
Заполнить матрицу случайными числами. Отобразить верхнюю половину матрицы на нижнюю зеркально...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru