Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
7 / 7 / 1
Регистрация: 27.03.2013
Сообщений: 121
.NET 4.x

Сортировка массива. Исправить ошибки в коде

26.03.2014, 13:21. Показов 1149. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят не могу дописать код что бы он правельно работал
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Sort
{
    class Program
    {
        static void Main()
        {
            // Считываем размер массива,
            // который необходимо отсортировать
            int size;
            size = Convert.ToInt32(Console.ReadLine());
            // Динамически выделяем память под
            // хранение массива размера size
            int[] a = new int [size];
            //считываем строку
            string str = Console.ReadLine();
            //разбиваем по пробелам
            string[] mas = str.Split(' ');
            //парсим в массив
            for (int i = 0; i < size; i++)
            {
                a[i] = int.Parse(mas[i]);
            }
 
            int step = size / 2;//инициализируем шаг.
            while (step > 0)//пока шаг не 0
            {
                for (int i = 0; i < (size - step); i++)
                {
                    int j = i;
                    //будем идти начиная с i-го элемента
                    while (j >= 0 && a[j] > a[j + step])
                    //пока не пришли к началу массива
                    //и пока рассматриваемый элемент больше
                    //чем элемент находящийся на расстоянии шага
                    {
                        //меняем их местами
                        int temp = a[j];
                        a[j] = a[j + step];
                        a[j + step] = temp;
                        j--;
                    }
                }
                step = step / 2;//уменьшаем шаг
            }
            // Выводим отсортированный массив
            for (int i = 0; i < size; i++)
            {
                Console.Write(a[i]);
                Console.Write(' ');
            }
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.03.2014, 13:21
Ответы с готовыми решениями:

Элемент находится за пределом массива, исправить ошибки в коде
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication17 { ...

Поиск минимального элемента массива, введенного с клавиатуры. Исправить ошибки в коде
int mas = { 1,2,3,4,2,3,6,10 }; int max = mas, index = -1; for (int i = 0; i &lt; mas.Length; i++) ...

Сортировка линейного массива: исправить ошибки в коде
Задача такая: В областной олимпиаде по ИКТ участвовало 37 школ. Команды набрали от 12 до 56 очков. Распечатать результаты согласно...

17
49 / 40 / 37
Регистрация: 25.07.2013
Сообщений: 178
26.03.2014, 13:45
А что с этим кодом не так, что не так происходит, какие ошибки появляются?
0
7 / 7 / 1
Регистрация: 27.03.2013
Сообщений: 121
26.03.2014, 13:57  [ТС]
не могу написать что бы он выводил наподобия такого
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static void Main(string[] args)
{
int n = 8;
int[] a = new int[n]; 
Random rand = new Random(); 
 
for (int i = 0; i < n; i++)
{
a[i] = rand.Next(10);
Console.Write(a[i] + " "); 
}
Console.WriteLine();
a = QuickSort(a, 0, a.Length - 1);
 
for (int i = 0; i < n; i++)
{
Console.Write(a[i] + " "); 
}
Console.ReadKey();
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
26.03.2014, 14:02
grial09, что значит "наподобия такого"?
1
7 / 7 / 1
Регистрация: 27.03.2013
Сообщений: 121
26.03.2014, 14:08  [ТС]
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
93
94
95
96
97
static void Main(string[] args)
{
int n = 8;
int[] a = new int[n]; 
Random rand = new Random(); 
 
for (int i = 0; i < n; i++)
{
a[i] = rand.Next(10);
Console.Write(a[i] + " "); 
}
Console.WriteLine();
a = QuickSort(a, 0, a.Length - 1);
 
for (int i = 0; i < n; i++)
{
Console.Write(a[i] + " "); 
}
Console.ReadKey();
вот такого
 
[size="1"][color="grey"][I]Добавлено через 3 минуты[/I][/color][/size]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Sort
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 8;
            int[] a = new int[n];
            Random rand = new Random();
 
            for (int i = 0; i < n; i++)
            {
                a[i] = rand.Next(10);
                Console.Write(a[i] + " ");
            }
            Console.WriteLine();
            a = QuickSort(a, 0, a.Length - 1);
 
            for (int i = 0; i < n; i++)
            {
                Console.Write(a[i] + " ");
            }
            Console.ReadKey();
            // Считываем размер массива,
            // который необходимо отсортировать
            int size;
            size = Convert.ToInt32(Console.ReadLine());
            // Динамически выделяем память под
            // хранение массива размера size
            int[] a = new int[size];
            //считываем строку
            string str = Console.ReadLine();
            //разбиваем по пробелам
            string[] mas = str.Split(' ');
            //парсим в массив
            for (int i = 0; i < size; i++)
            {
                a[i] = int.Parse(mas[i]);
            }
 
            int step = size / 2;//инициализируем шаг.
            while (step > 0)//пока шаг не 0
            {
                for (int i = 0; i < (size - step); i++)
                {
                    int j = i;
                    //будем идти начиная с i-го элемента
                    while (j >= 0 && a[j] > a[j + step])
                    //пока не пришли к началу массива
                    //и пока рассматриваемый элемент больше
                    //чем элемент находящийся на расстоянии шага
                    {
                        //меняем их местами
                        int temp = a[j];
                        a[j] = a[j + step];
                        a[j + step] = temp;
                        j--;
                    }
                }
                step = step / 2;//уменьшаем шаг
            }
            // Выводим отсортированный массив
            for (int i = 0; i < size; i++)
            {
                Console.Write(a[i]);
                Console.Write(' ');
            }
        }
    }
}
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
26.03.2014, 14:08
grial09, выражайтесь понятным языком, в чем ваша просьба .Либо вы сами не понимаете что пишите
0
7 / 7 / 1
Регистрация: 27.03.2013
Сообщений: 121
26.03.2014, 14:09  [ТС]
вот этот код нужно запустить
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Sort
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 8;
            int[] a = new int[n];
            Random rand = new Random();
 
            for (int i = 0; i < n; i++)
            {
                a[i] = rand.Next(10);
                Console.Write(a[i] + " ");
            }
            Console.WriteLine();
            a = QuickSort(a, 0, a.Length - 1);
 
            for (int i = 0; i < n; i++)
            {
                Console.Write(a[i] + " ");
            }
            Console.ReadKey();
            // Считываем размер массива,
            // который необходимо отсортировать
            int size;
            size = Convert.ToInt32(Console.ReadLine());
            // Динамически выделяем память под
            // хранение массива размера size
            int[] a = new int[size];
            //считываем строку
            string str = Console.ReadLine();
            //разбиваем по пробелам
            string[] mas = str.Split(' ');
            //парсим в массив
            for (int i = 0; i < size; i++)
            {
                a[i] = int.Parse(mas[i]);
            }
 
            int step = size / 2;//инициализируем шаг.
            while (step > 0)//пока шаг не 0
            {
                for (int i = 0; i < (size - step); i++)
                {
                    int j = i;
                    //будем идти начиная с i-го элемента
                    while (j >= 0 && a[j] > a[j + step])
                    //пока не пришли к началу массива
                    //и пока рассматриваемый элемент больше
                    //чем элемент находящийся на расстоянии шага
                    {
                        //меняем их местами
                        int temp = a[j];
                        a[j] = a[j + step];
                        a[j + step] = temp;
                        j--;
                    }
                }
                step = step / 2;//уменьшаем шаг
            }
            // Выводим отсортированный массив
            for (int i = 0; i < size; i++)
            {
                Console.Write(a[i]);
                Console.Write(' ');
            }
        }
    }
}
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
26.03.2014, 14:14
зачем вы копируете постоянно код, да и не форматируете еще его. Можете словами объяснить что не так у вас в коде работает. Или что вам нужно получить.Условия задачи
0
7 / 7 / 1
Регистрация: 27.03.2013
Сообщений: 121
26.03.2014, 14:39  [ТС]
нужно исправить ошибки в коде что бы он запустился
0
26.03.2014, 14:51

Не по теме:

ну знаете ли, я могу таааак исправить... запустится вообще на ура

0
7 / 7 / 1
Регистрация: 27.03.2013
Сообщений: 121
26.03.2014, 15:00  [ТС]
можете исправить?
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
26.03.2014, 15:04
grial09, код, указанный в начале темы запускается и работает исправно
1
7 / 7 / 1
Регистрация: 27.03.2013
Сообщений: 121
26.03.2014, 17:31  [ТС]
подскажите а что нужно водить после того как его запустить я его запускаю вожу цифры и все так он ничего не выдает
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
02.04.2014, 16:40
grial09, создайте новый проект и внесите в него код для сортировки Шелла. у вас тут присутсвует код для быстрой сортировки - он и конфликтует с остальным
1
7 / 7 / 1
Регистрация: 27.03.2013
Сообщений: 121
02.04.2014, 16:43  [ТС]
помогите пожалуйста вот сам орегинальный код шелла ,когда я его запускаю и вожу число он не выводит в чем причина?
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Sort
{
    class Program
    {
        static void Main()
        {
            // Считываем размер массива,
            // который необходимо отсортировать
            int size;
            size = Convert.ToInt32(Console.ReadLine());
            // Динамически выделяем память под
            // хранение массива размера size
            int[] a = new int [size];
            //считываем строку
            string str = Console.ReadLine();
            //разбиваем по пробелам
            string[] mas = str.Split(' ');
            //парсим в массив
            for (int i = 0; i < size; i++)
            {
                a[i] = int.Parse(mas[i]);
            }
 
            int step = size / 2;//инициализируем шаг.
            while (step > 0)//пока шаг не 0
            {
                for (int i = 0; i < (size - step); i++)
                {
                    int j = i;
                    //будем идти начиная с i-го элемента
                    while (j >= 0 && a[j] > a[j + step])
                    //пока не пришли к началу массива
                    //и пока рассматриваемый элемент больше
                    //чем элемент находящийся на расстоянии шага
                    {
                        //меняем их местами
                        int temp = a[j];
                        a[j] = a[j + step];
                        a[j + step] = temp;
                        j--;
                    }
                }
                step = step / 2;//уменьшаем шаг
            }
            // Выводим отсортированный массив
            for (int i = 0; i < size; i++)
            {
                Console.Write(a[i]);
                Console.Write(' ');
            }
        }
    }
}
0
53 / 53 / 10
Регистрация: 26.09.2013
Сообщений: 277
02.04.2014, 16:48
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Sort
{
    class Program
    {
        static void Main()
        {
            int n = 8;
            int[] a = new int[n];
            Random rand = new Random();
 
            for (int i = 0; i < n; i++)
            {
                a[i] = rand.Next(10);
                Console.Write(a[i] + " ");
            }
            Console.WriteLine();
            a = QuickSort(a, 0, a.Length - 1);
 
            for (int i = 0; i < n; i++)
            {
                Console.Write(a[i] + " ");
            }
            Console.ReadKey();
            // Считываем размер массива,
            // который необходимо отсортировать
            int size;
            size = Convert.ToInt32(Console.ReadLine());
            // Динамически выделяем память под
            // хранение массива размера size
            a = new int[size];
            //считываем строку
            string str = Console.ReadLine();
            //разбиваем по пробелам
            string[] mas = str.Split(' ');
            //парсим в массив
            for (int i = 0; i < size; i++)
            {
                a[i] = int.Parse(mas[i]);
            }
 
            int step = size / 2;//инициализируем шаг.
            while (step > 0)//пока шаг не 0
            {
                for (int i = 0; i < (size - step); i++)
                {
                    int j = i;
                    //будем идти начиная с i-го элемента
                    while (j >= 0 && a[j] > a[j + step])
                    //пока не пришли к началу массива
                    //и пока рассматриваемый элемент больше
                    //чем элемент находящийся на расстоянии шага
                    {
                        //меняем их местами
                        int temp = a[j];
                        a[j] = a[j + step];
                        a[j + step] = temp;
                        j--;
                    }
                }
                step = step / 2;//уменьшаем шаг
            }
            // Выводим отсортированный массив
            for (int i = 0; i < size; i++)
            {
                Console.Write(a[i]);
                Console.Write(' ');
            }
        }
 
        private static int[] QuickSort(int[] ints, int i, int i1)
        {
            throw new NotImplementedException();
        }
    }
1
7 / 7 / 1
Регистрация: 27.03.2013
Сообщений: 121
02.04.2014, 16:53  [ТС]
C#
1
2
3
4
5
6
private static int[] QuickSort(int[] ints, int i, int i1)
        {
            throw new NotImplementedException();
        }
    }
    }
а что это значит? и когда запускаешь код просто выводится числа и все
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
02.04.2014, 17:30
grial09, сначала вы вводите одно число - размер массива
потом вы должны в строчку через пробел ввести все числа массива - столько, сколько указали. иначе недостающие элементы будут 0

Добавлено через 2 минуты
grial09, а это значит, что вы написали использовать метод QuickSort - студия его не нашла, и предложила создать шаблон для него - и создала - то, что вы написали.

Добавлено через 54 секунды
grial09, а только числа и должны выводится. только если вы ввели числа в любом порядке, то выведет все числа от меньшего к большему
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2014, 17:30
Помогаю со студенческими работами здесь

Сортировка - исправить ошибки в коде
Подскажите пожалуйста,где ошибка? for (i = 0; i&lt;k; i++) for (j = 0; j&lt;k - 1; j++){ fread(&amp;car1, sizeof(car), 1, f); ...

Сортировка - исправить ошибки в коде
Const x:arrayof integer=(-1,2,4,-8,1,3,5,13,-4,7); Var i,s,k:integer; Begin for k:=5 to 8 do for i:=3 to 6 do ...

Merge sort (Сортировка слиянием) - исправить ошибки в коде
Privet dami i gospoda. Ne poluchaetsa realisovat' Merge sort. Proga kompiliruetsa no sorting ne rabotaet. Help please. #include...

Сортировка массивов посредством вставок. Исправить ошибки в приведенном коде
program sort_vstav; {$APPTYPE CONSOLE} uses SysUtils, Math; const nn=20; var a:array of integer; b:integer; ...

Сортировка строк: склеивается вторая и третья строка (найти и исправить ошибки в коде)
#include &lt;string.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; FILE...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru