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

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

Войти
Регистрация
Восстановить пароль
 
4iFF
19 / 19 / 1
Регистрация: 06.07.2012
Сообщений: 88
#1

Массив испорчен - C++

31.07.2012, 16:05. Просмотров 350. Ответов 8
Метки нет (Все метки)

Испытывал сортировку Шелла:
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
void TestSort::shellSort(int x[], int size) 
{
    int inc, i, j, seq[40];
    int s;
 
    s = increment(seq, size); // вычисление последовательности приращений
    while (s >= 0)  // сортировка вставками с инкрементами y[] 
    {
         inc = seq[s--];
         for (i = inc; i < size; ++i) 
         {
             int temp = x[i];
             for (j = i-inc; (j >= 0) && (x[j] > temp); j -= inc)
                x[j + inc] = x[j];
             x[j] = temp;
         }
    }
}
 
int TestSort::increment(int y[], int size) 
{
    int p1, p2, p3, s;
    p1 = p2 = p3 = 1;
    s = -1;
    do 
    {
        if (++s % 2) 
        {
            y[s] = 8*p1 - 6*p2 + 1;
        } 
        else 
        {
            y[s] = 9*p1 - 9*p3 + 1;
            p2 *= 2;
            p3 *= 2;
        }
    p1 *= 2;
    } 
    while(3*y[s] < size);  
 
    return s > 0 ? --s : 0;
}
(как в теме код короче).Вызов функции:
C++
1
q.shellSort(e,100000);
Проблема в том что при выполнение программы либо фатальная (что массив е испорчен) ошибка либо "виснет".
В чем проблема?Спасибо за ответы.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2012, 16:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив испорчен (C++):

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Испорчен видеофайл - Видеопрограммы
Скачал я несколько видео размером более чем по 1 Гб. Распаковал. Посмотреть я не смотрел, компьютер слабый, но вроде ОКейно. Вот, стал...

Испорчен hal.dll - Windows XP
Привет. Слетела система. Выдает сообщение на черном экране : Не удается запустить Windows из=за испорченного или отсутствующего файла:...

Файл txtsetup.sif был испорчен - Windows XP
Установить windows xp мешает эта проблема. Пробовал два образа. Этот файл находится в папке i386. В чём же проблема? Файл же есть.

Windows 2003 r2 фаил отсутствует или испорчен nvatabuA.sys - Windows Server
Стоял windows server 2003 r2 понадобилось установить клиентские лицензии. Все установилось за регистрировало отлично. После перезагрузки...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.07.2012, 16:08 #2
типичные программисты пользуются дебаггером
0
xADMIRALx
31.07.2012, 16:13
  #3

Не по теме:

Jupiter, Кстати не подскажете как это делается в VS ?

0
4iFF
19 / 19 / 1
Регистрация: 06.07.2012
Сообщений: 88
31.07.2012, 16:14  [ТС] #4
Я VC2010 с дебагом юзаю.
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.07.2012, 16:19 #5

Не по теме:

xADMIRALx, в меню Debug есть все необходимое



Цитата Сообщение от 4iFF Посмотреть сообщение
Я VC2010 с дебагом юзаю.
ну дык и пройдись по коду F10/F11
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
31.07.2012, 16:20 #6
В функции
C++
1
void TestSort::shellSort(int x[], int size)
строку
C++
1
int temp = x[i];
нормально проходит? Я тут на босу ногу набросал, - дебагер говорит что х пуст.
0
4iFF
19 / 19 / 1
Регистрация: 06.07.2012
Сообщений: 88
31.07.2012, 16:29  [ТС] #7
Цитата Сообщение от SatanaXIII Посмотреть сообщение
int temp = x[i];
только 3 числа почему-то проходит потом "виснет"...
0
xADMIRALx
31.07.2012, 16:33
  #8

Не по теме:

Jupiter, не подскажете как продебажить программу?Ну что бы весь код уже сразу был показан на ассемблере

0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
31.07.2012, 16:52 #9
А сам е в
C++
1
q.shellSort(e,100000);
какой имеет размер? Точно ли 100000?

Добавлено через 6 минут
4iFF, и блок схему запили. А-то тетя вика говорит что речь идет о чем-то математическом. Так попроще будет понять. Потому что у меня что-то запустилось и отработало все. И внезапно никаких косяков.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2012, 16:52
Привет! Вот еще темы с ответами:

При установке ХР: INF-файл txtsetup.sif испорчен или отсутствует - Windows XP
При установке появляется вот такая ошибка на фото видно что можно сделать Пробовал несколько разных версий хр

Ошибка: испорчен или отсутствует файл xllex.dll словаря excel - Delphi
Если открываю файл с расширением xls то все норм работает, если xlsx то выдает ошибку: &quot;испорчен или отсутствует файл xllex.dll словаря...

Установка системы с флэшки не удается найти или испорчен inf фаил - Windows XP
Добрый день.Вот проблема.Снес я систему Windows XP (сборка)для переустановки.Вставил установочный диск в привод,и,и,и,а диск...

После прохождения проверочного теста мой ноутбук DELL выдал что испорчен жесткий диск - Ноутбуки
Экран мельтешит, обновления все не устанавливаются. Менять жесткий диск? У нас мало хороших специалистов, в чем причина поломки?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
31.07.2012, 16:52
Ответ Создать тему
Опции темы

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