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

Сравнение алгоритмов сортировки массивов

25.12.2011, 23:17. Показов 2017. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно реализовать 2 алгоритма сортировки чисел и сравнить количество перестановок требуемых для каждого

Пока пробую сравнить сортировку Шелла и пузырьковую
черновой в недоделанный вариант выглядит как то так
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            UInt32 i,j,m,n;
            int min, max,steps1=0,steps2=2;
            
            Console.WriteLine("Здравствуйте!");
            Console.WriteLine("Задайте размерность матрицы");
            Console.WriteLine("Введите n(количество строк):");
            n = Convert.ToUInt32(Console.ReadLine());
            Console.WriteLine("Введите m(количество столбцов):");
            m = Convert.ToUInt32(Console.ReadLine());
            Console.WriteLine("Выберите пределы в которых должны быть все элементы матрицы");
            Console.WriteLine("Выберите нижний предел min:");
            min = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Выберите верхний предел max:");
            max = Convert.ToInt32(Console.ReadLine());
            int[,] MyArray = new int[n, m];
 
            Random rand = new Random();
            for (i = 0; i < n; i++)                        // Цикл по строкам
            {
                for (j = 0; j < m; j++)                    // Цикл по столбцам
                {
                    MyArray[i, j] = rand.Next(min, max);           // Заполняется элемент с индексами i и j в диапазоне величин, заданных пользователем.
                   
                }
            }
            Console.Write("\t (матрица задана случайно)");
 
            Console.WriteLine(" ");
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                {
                    Console.Write("{0}\t", MyArray[i, j]);                // Вывод элементов 
                }
                Console.WriteLine(" ");
 
            }
 
           {
               int p,r,q;
               int step = MyArray.Length / 2;
               while (step > 0)
               {
                   for (q = 0; q <= n; q++)
                   {
                       for (r = 0; r < (MyArray.Length - step); r++)
                       {
                           p = r;
                           while ((p >= 0) && (MyArray[p,q] > MyArray[p + step,q]))
                           {
                               int tmp = MyArray[p,q];
                               MyArray[p,q] = MyArray[p + step,q];
                               MyArray[p + step,q] = tmp;
                               q--;
                               steps1++;
                           }
                       }
                   }
 
                   step = step / 2;
               }
               int z,x;
               for (x = 0; x <= m; m++)
               {
                   for (z = 0; z < n; n++)
                   {
                       if (MyArray[z, x] >= MyArray[z + 1, x])
                       {
                           int buffer = MyArray[z + 1, x];
                           MyArray[z + 1, x] = MyArray[z, x];
                           MyArray[z, x] = buffer;
                           steps2++;
                       }
 
                   }
               }
           }
            }
          
        }
    }
Просьба помочь довести это до ума , либо написать что нибудь иное но понятным языком
Заранее благодарен!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.12.2011, 23:17
Ответы с готовыми решениями:

Сравнение алгоритмов
Ребят, нужен код пирамидальной–турнирной сортировки и код пирамидальной сортировки. В чём их разница:?

Сравнение эффективности алгоритмов бинарного поиска
Ребят помогите с задание. Не могу понять что нужно сделать! Оптимизированный двоичный поиск. В процессе деления выбрать не середину...

Сортировки массивов из Pascal в C#
uses crt; const nmax=20; var a:array of integer; n,m,i,j:byte; kol,num:integer; procedure vvod; var i,j:byte; begin ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.12.2011, 23:17
Помогаю со студенческими работами здесь

Сравнение массивов
Я думаю вам понятно что делает код. Вот только как сюда впихнуть перегрузку? using System; using System.Collections.Generic; using...

Сравнение массивов
Добрый день Задание такое: Строка, содержащая произвольный русский текст, состоит не более чем из 200 символов. Написать, какие буквы и...

Сравнение массивов
Есть массив finiteVector и рваный массив Vectors. Нужно узнать какой из Vectors больше похож на finiteVector. Все массивы одинаковой...

Сравнение массивов
Вот такая конструкция: int first = new int { 1, 1, 1, 1 }; int second = new int { 1, 1, 1, 1, }; if...

Сравнение массивов
Дан двойной массив и обычный. Надо проверить сколько чисел из обычного массива совпадает с числами в каждой строке двоичного массива. ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru