Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
gorynech2
-4 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 32
#1

Сортировка методом Шелла, ошибки чуть ли не в каждой строке - C++

19.01.2012, 12:55. Просмотров 483. Ответов 9
Метки нет (Все метки)

Выдал полно ошибок

сортировки массива из 30 случайных значений:

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
#include <stdio.h> 
#include <stdlib.h>
 
void shell_sort(int array[], int size) 
{
int temp, gap, i, exchange_occurred;
 
gap = size / 2;
 
do { 
 do {
 exchange_occurred = 0;
 
 for (i = 0; i < size - gap; i++) 
 if (array[i] > array[i + gap]) 
 {
 temp = array[i];
 array[i] = array[i + gap];
 array[i + gap] = temp;
 exchange_occurred = 1;
 }
 } while (exchange_occurred);
 } while (gap = gap / 2);
}
 
void main(void) 
{
int values[50], i;
 
for (i = 0; i < 50; i++) 
 values[i] = randO % 100;
shell_sort(values, 50);
 
for (i = 0; i < 50; i++) 
 printf("%d ", values[i]);
}
Примечание: Функция shell Jsort сортирует значения по возрастанию ощ меньшего к большему. Для сортировки массива в обратном порядке нужно просто изменить условие сравнения на if (array [i] < array [i + gap]).
Миниатюры
Сортировка методом Шелла, ошибки чуть ли не в каждой строке  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Высокий
242 / 242 / 59
Регистрация: 09.04.2011
Сообщений: 524
19.01.2012, 13:17     Сортировка методом Шелла, ошибки чуть ли не в каждой строке #2
Это код на C++. Естественно, если пытаться скомпилировать его как C# будут ошибки.

Добавлено через 11 минут
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
class Program
    {
        static int[] ShellSort(int[] current, bool ord)
        {
            int j;
            int power = current.Length;
            int step = power / 2;
            int tmp;
            while (step > 0)
            {
                for (int i = 0; i < (power - step); i++)
                {
                    j = i;
                    if (ord)
                    {
                        while ((j >= 0) && (current[j].CompareTo(current[j + step]) > 0))
                        {
                            tmp = current[j];
                            current[j] = current[j + step];
                            current[j + step] = tmp;
                            j--;
                        }
                    }
                    else
                    {
                        while ((j >= 0) && (current[j].CompareTo(current[j + step]) < 0))
                        {
                            tmp = current[j];
                            current[j] = current[j + step];
                            current[j + step] = tmp;
                            j--;
                        }
                    }
                }
                step = step / 2;
            }
            return current;
        }
 
        static void Main(string[] args)
        {
            const int n = 30;
            int[] array = new int[n];
            Random rand = new Random();
            Console.WriteLine("Массив: ");
            for (int i = 0; i < n; i++)
            {
                array[i] = rand.Next(100);
                Console.Write("{0,5}", array[i]);
            }
            array = ShellSort(array, true);
            Console.WriteLine("\n\nСортированный массив: ");
            foreach (int x in array) Console.Write("{0,5}", x);
            Console.ReadKey(true);
        }
    }
gorynech2
-4 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 32
19.01.2012, 13:21  [ТС]     Сортировка методом Шелла, ошибки чуть ли не в каждой строке #3
Цитата Сообщение от Высокий Посмотреть сообщение
Это код на C++. Естественно, если пытаться скомпилировать его как C# будут ошибки.

Добавлено через 11 минут
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
class Program
    {
        static int[] ShellSort(int[] current, bool ord)
        {
            int j;
            int power = current.Length;
            int step = power / 2;
            int tmp;
            while (step > 0)
            {
                for (int i = 0; i < (power - step); i++)
                {
                    j = i;
                    if (ord)
                    {
                        while ((j >= 0) && (current[j].CompareTo(current[j + step]) > 0))
                        {
                            tmp = current[j];
                            current[j] = current[j + step];
                            current[j + step] = tmp;
                            j--;
                        }
                    }
                    else
                    {
                        while ((j >= 0) && (current[j].CompareTo(current[j + step]) < 0))
                        {
                            tmp = current[j];
                            current[j] = current[j + step];
                            current[j + step] = tmp;
                            j--;
                        }
                    }
                }
                step = step / 2;
            }
            return current;
        }
 
        static void Main(string[] args)
        {
            const int n = 30;
            int[] array = new int[n];
            Random rand = new Random();
            Console.WriteLine("Массив: ");
            for (int i = 0; i < n; i++)
            {
                array[i] = rand.Next(100);
                Console.Write("{0,5}", array[i]);
            }
            array = ShellSort(array, true);
            Console.WriteLine("\n\nСортированный массив: ");
            foreach (int x in array) Console.Write("{0,5}", x);
            Console.ReadKey(true);
        }
    }

это на Си???то тоже 7 ошибок выдало
Высокий
242 / 242 / 59
Регистрация: 09.04.2011
Сообщений: 524
19.01.2012, 13:24     Сортировка методом Шелла, ошибки чуть ли не в каждой строке #4
Вам на каком языке надо?
gorynech2
-4 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 32
19.01.2012, 13:25  [ТС]     Сортировка методом Шелла, ошибки чуть ли не в каждой строке #5
Цитата Сообщение от Высокий Посмотреть сообщение
Вам на каком языке надо?
Просто Си,а не С++
Высокий
242 / 242 / 59
Регистрация: 09.04.2011
Сообщений: 524
19.01.2012, 13:27     Сортировка методом Шелла, ошибки чуть ли не в каждой строке #6
Тогда вы пишете не в тот раздел.
С/С++ для начинающих
А здесь раздел касается C#.
gorynech2
-4 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 32
19.01.2012, 13:31  [ТС]     Сортировка методом Шелла, ошибки чуть ли не в каждой строке #7
Цитата Сообщение от Высокий Посмотреть сообщение
Тогда вы пишете не в тот раздел.
С/С++ для начинающих
А здесь раздел касается C#.
а для этой программы какие стандартные библиотеки понадобятся если в С++???
Высокий
242 / 242 / 59
Регистрация: 09.04.2011
Сообщений: 524
19.01.2012, 13:42     Сортировка методом Шелла, ошибки чуть ли не в каждой строке #8
Не знаю. Я пока не изучал С++
gorynech2
-4 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 32
19.01.2012, 13:44  [ТС]     Сортировка методом Шелла, ошибки чуть ли не в каждой строке #9
Цитата Сообщение от Высокий Посмотреть сообщение
Не знаю. Я пока не изучал С++
все равно ошибки
Миниатюры
Сортировка методом Шелла, ошибки чуть ли не в каждой строке  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2012, 13:57     Сортировка методом Шелла, ошибки чуть ли не в каждой строке
Еще ссылки по теме:

Сортировка методом Шелла C++
C++ Разделение массива и сортировка каждой части методом пузырька
Сортировка методом Шелла C++
Сортировка методом Шелла и другое на С++ C++
C++ Сортировка массива методом Шелла пожалуйста

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

Или воспользуйтесь поиском по форуму:
nio
19.01.2012, 13:57     Сортировка методом Шелла, ошибки чуть ли не в каждой строке
  #10
 Комментарий модератора 
перенесено в из C# в C/C++
Yandex
Объявления
19.01.2012, 13:57     Сортировка методом Шелла, ошибки чуть ли не в каждой строке
Ответ Создать тему
Опции темы

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