Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Kirir
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 10
1

Пузырьковая сортировка

24.01.2013, 16:46. Просмотров 1272. Ответов 7
Метки нет (Все метки)

Составьте программу,заменяющую i-тый элемент одномерного массива A(N) минимальным среди первых i элементов данного массива.

Массивы для примера
A[10] = {12.21, 4.75, 5, 7, 6, -11, -2, -30, 8, 7};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2013, 16:46
Ответы с готовыми решениями:

Сортировка выбором, сортировка вставкой, сортировка заменой, сортировка обменом ("пузырьковая" сортировка)
Создать класс, содержащий массив и реализующий алгоритмы сортировки и бинарного...

Пузырьковая сортировка
Вот задание: составить программу, которая реализует этот метод для одномерного...

Сортировка вставки и пузырьковая
У мня такой вот вопрос,скидываю свои решения на сайт,но там пишет частичное...

Сортировка обменом (пузырьковая)
Ребята, помогите! Надо сделать так, чтобы программа не выполняла лишних...

Пузырьковая сортировка одномерного массива
int n; Console.WriteLine("Sortirovka massiva!"); Console.WriteLine("Dlina...

7
memphis
630 / 191 / 65
Регистрация: 12.12.2012
Сообщений: 385
24.01.2013, 19:42 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
namespace ConsoleApplication1
{
    class Program
    {
        static void PrintArray(double[] a)
        {
            for (int i = 0; i < a.Length; i++)
                Console.WriteLine("{0}: {1:F3} ", i, a[i]);
            Console.WriteLine();
        } // PrintArray()
 
 
        static void ChangeArray(double[] a, int indx)
        {
            try
            {
                if ((indx < 0) || (indx >= a.Length)) throw new ArgumentOutOfRangeException("indx", "indx must be >= 0 or < length of array. ");
            }
            catch (ArgumentException paramExc)
            {
                Console.WriteLine("Ошибка вызова {0}." + paramExc.TargetSite);
                Console.WriteLine(paramExc.Message);
                return;
            }
 
            double minVal = double.PositiveInfinity;
 
            for (int i = 0; i <= indx; i++)
                if (a[i] < minVal) minVal = a[i];
 
            a[indx] = minVal;
        } // ChangeArray()
 
        static void Main(string[] args)
        {
            int i;
            int arrLen = 10;
            double[] arr = new double[arrLen];
            Random rand = new Random();
 
            for (i = 0; i < arr.Length; i++)
                arr[i] = rand.NextDouble() * rand.Next(-100, 100);
 
            Console.WriteLine("Исходный массив:");
            PrintArray(arr);
 
            do
            {
                Console.WriteLine("Введите номер элемента для замены:");
 
                if (! int.TryParse(Console.ReadLine(), out i))
                {
                    Console.WriteLine("Неверно введённое число.");
                    continue;
                }
 
                if ((i < 0) || (i >= arr.Length))
                {
                    Console.WriteLine("В массиве нет числа с таким индексом.");
                    continue;
                }
                break;
            } while (true);
            Console.WriteLine();
 
            ChangeArray(arr, i);
 
            Console.WriteLine("Изменённый массив:");
            PrintArray(arr);
            Console.WriteLine();
 
        } // Main
    }
}
Запустите и проверьте...
1
Kirir
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 10
24.01.2013, 19:47  [ТС] 3
чтот слишко уж за мудрено мне бы по проще =)) просто автоматом отсортировать и все =))

Добавлено через 2 минуты
Массивы для примера
A[10] = {12.21, 4.75, 5, 7, 6, -11, -2, -30, 8, 7}; по этому массиву можно написать ?
0
DimanRu
682 / 675 / 167
Регистрация: 15.06.2011
Сообщений: 1,699
24.01.2013, 19:52 4
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Program
{
    static void Main(string[] args)
    {
        double[] A = { 12.21, 4.75, 5, 7, 6, -11, -2, -30, 8, 7 };
 
        Console.WriteLine("Массив до изменений: " + string.Join(" ", A));
        Console.Write("Введите i: ");
        int i = int.Parse(Console.ReadLine());
 
        double Min = A[0];
 
        for (int a = 0; a < i; a++)
            if (A[a] < Min)
                Min = A[a];
 
        A[i] = Min;
 
        Console.WriteLine("Массив после изменений: " + string.Join(" ", A));
        Console.ReadKey();
    }
}
1
Kirir
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 10
24.01.2013, 20:03  [ТС] 5
чтото Min не нравится проге

Добавлено через 1 минуту
какое число я не вводил бы не меняется исходный массив
0
DimanRu
682 / 675 / 167
Регистрация: 15.06.2011
Сообщений: 1,699
24.01.2013, 20:03 6
У меня все работает... Все меняется.
0
memphis
630 / 191 / 65
Регистрация: 12.12.2012
Сообщений: 385
24.01.2013, 20:07 7
Цитата Сообщение от Kirir Посмотреть сообщение
какое число я не вводил бы не меняется исходный масси
Не, меняется. (Я про код DimanRu).
Просто мы поняли, что вводить надо индекс элемента, а вы, похоже, вводите значение элемента.
Уточните пожалуйста.
0
DimanRu
682 / 675 / 167
Регистрация: 15.06.2011
Сообщений: 1,699
24.01.2013, 20:08 8
Составьте программу,заменяющую i-тый элемент одномерного массива
Я так понимаю, а так и написано, что нужно менять элемент с индексом i !
0
24.01.2013, 20:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2013, 20:08

Работа с простейшими массивами: 1)сортировка; 2)определение суммы и сортировка
1)Класс описывает одномерный массив, состоящий из n целых элементов со...

Быстрая сортировка (сортировка Хоара)
Помогите, пожалуйста, мучаюсь второй день с быстрой сортировкой...:cry: И...

Сортировка списка, главная сортировка по второму числу, второстепенная по первому числу
CardList.Sort(new Comparison&lt;int&gt;((arg1, arg2) =&gt; { return (arg1 %...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru