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

Не работает сортировка пузырьком

13.10.2021, 13:54. Показов 1183. Ответов 6
Метки с# (Все метки)

Студворк — интернет-сервис помощи студентам
У меня не сортируется полученный Массив T, после объединения рандомных массивов T1, T2, и T3.
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
static void Swap(double e1, double e2)
        {
            double temp = e1;
            e1 = e2;
            e2 = temp;
        }
 
        static double[]  BubbleSort(double[] array)
        {
            double temp;
            var len = array.Length;
            for(int i=1; i<len; i++)
            {
                for (int j=0; j>len-1; j++)
                {
                    if(array[j]>array[j+1])
                    {
                        temp = array[i ];
                        array[i] = array[i];
                        array[i + 1] = temp;
                    }
                }
            }
            return array;
        }
 
        static void Main(string[] args)
        {
            Console.Write("Введите N=");
            int N = int.Parse(Console.ReadLine());
            Console.Write("Введите интенсивноясть 1 потока Lamda1=");
            double Lamda1 = Double.Parse(Console.ReadLine());
            Console.Write("Введите интенсивноясть 2 потока Lamda2=");
            double Lamda2 = Double.Parse(Console.ReadLine());
            Console.Write("Введите интенсивноясть 3 потока Lamda3=");
            double Lamda3 = Double.Parse(Console.ReadLine());
            Random rand = new Random();
            
            double[] T1 = new double[N];
            T1[0] = 0;
            double[] T2 = new double[N];
            T2[0] = 0;
            double[] T3 = new double[N];
            T3[0] = 0;
            for (int i=1; i<N; i++)
            {                
                T1[i] = T1[i - 1] - (1 / Lamda1) * Math.Log10(rand.NextDouble());
                T2[i] = T2[i - 1] - (1 / Lamda2) * Math.Log10(rand.NextDouble());
                T3[i] = T3[i - 1] - (1 / Lamda3) * Math.Log10(rand.NextDouble());                
            }
            Double[]  T = new double[T1.Length + T2.Length+T3.Length-2];
            T[0] = 0;
            for(int i=1; i< T1.Length + T2.Length + T3.Length - 2;i++)
            {
                if (i%3==1)
                {
                    T[i] = T1[i / 3+1];
                }
                if (i % 3 == 2)
                {
                    T[i] = T2[i / 3+1];
                }
                if (i % 3 == 0)
                {
                    T[i] = T3[i / 3];
                }
            }
            for (int i = 0; i < 100; i++)
            {
                Console.WriteLine($"T{i}={T[i]}");
            }
            BubbleSort(T);
            for (int i=0; i<100; i++)
            {
             Console.WriteLine($"T{i}={T[i]}");
            }
            double deltaT = 0;            
            for (int i=1; i<N; i++)
            {
                deltaT = deltaT+(T[i]-T[i-1]);                
            }            
            double delta = (deltaT/(double)(N));
            double Lamda = 1 / delta; 
            Console.WriteLine($"Теоритическая интенсивность Lamda={Lamda1+Lamda2+Lamda3}; Практическая инетнсивность Lamda={Lamda}");            
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.10.2021, 13:54
Ответы с готовыми решениями:

Сортировка пузырьком
Добрый вечер! Возникла проблема с кодом. public static void BubbleSortRange(int array, int left, int right) { for (int i =...

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

Сортировка пузырьком
Создать матрицу из натуральных чисел размера M×N. Отсортировать элементы столбцов матрицы, расположенные выше побочной диагонали, методом...

6
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,641
Записей в блоге: 14
13.10.2021, 14:02
Лучший ответ Сообщение было отмечено Zulan1997 как решение

Решение

C#
1
2
3
                        temp = array[i ];
                        array[i] = array[i];
                        array[i + 1] = temp;
Самим не смешно? А если серьезно, то нужно заменить i на j, а второй индекс во второй строке - j + 1.

Добавлено через 1 минуту
Да, и тут:
C#
1
for (int j=0; j>len-1; j++)
- заменить > на <, скорее всего.

Добавлено через 2 минуты
Вот алгоритм, надеюсь, рабочий.
1
0 / 0 / 0
Регистрация: 14.03.2020
Сообщений: 28
13.10.2021, 14:04  [ТС]
Хотелось бы ответить что помошло, но нет до этого я использовал метод Swap, и такая же фигная. Исправил щас как ты сказал конечно, потому что я уже замучиный и такую ошибку сделал, но результат всё равно не удовлетворительный. Вот результат из первых 10 выборок, и явно он не сортирован.
T0=0
T1=0,0516441983973458
T2=0,03592349618395604
T3=0,244867982775288
T4=0,13301783294751313
T5=0,1852088073312923
T6=0,2806682708544066
T7=0,7484953935472676
T8=0,3686566110848753
T9=0,47166764720569704
T10=1,2461926772889849

Добавлено через 1 минуту
Всё после 2 ошибки теперь наконец то правильно отсортировал.
0
fly
 Аватар для I can
4955 / 4646 / 844
Регистрация: 13.04.2015
Сообщений: 9,841
13.10.2021, 14:15
Цитата Сообщение от Zulan1997 Посмотреть сообщение
я использовал метод Swap
Свап у тебя нерабочий.
0
0 / 0 / 0
Регистрация: 14.03.2020
Сообщений: 28
13.10.2021, 14:22  [ТС]
Хотелось бы узнать почему?
0
fly
 Аватар для I can
4955 / 4646 / 844
Регистрация: 13.04.2015
Сообщений: 9,841
13.10.2021, 14:24
Лучший ответ Сообщение было отмечено Zulan1997 как решение

Решение

Цитата Сообщение от Zulan1997 Посмотреть сообщение
Хотелось бы узнать почему?
Потому что double - это значимый тип, и переменные этого типа в данном случае надо передавать в метод по ссылке.
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
13.10.2021, 14:26
Zulan1997, double значимый тип
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.10.2021, 14:26
Помогаю со студенческими работами здесь

Сортировка пузырьком
Нужно реализовать метод сортировки пузырьком

Улучшенная сортировка пузырьком
Добрый вечер! Нужен код улучшенной сортировки пузырьком К сожалению, на просторах интернета не удалось найти кода данной сортировки...

Быстрая сортировка пузырьком
Есть еще способы сортировки пузырьком, но только быстрые? Прошу, не кидайте те варианты, что известны во всем интернете.

Двумерный массив, сортировка пузырьком
Здравствуйте, помогите написать сортировку пузырьком для двумерного массива int n = Convert.ToInt32(Console.ReadLine()); ...

Многопоточная сортировка пузырьком - фикс кода
Всем привет. В институте разбираемся с многопоточностью. Дали нам задание написать сортировку пузырьком при помощи нескольких потоков....


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
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, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru