Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 23.11.2009
Сообщений: 61
1

Не получается обнаружить ошибку(метод Шелла)

13.10.2010, 22:52. Показов 762. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проблема в том что я написала программу на паскале,а преподаватель попросил перевести на си,и теперь не могу понять где эта ошибка,выводит не тот результат,я даже по шагово проделывала,где то сбивается(.Будьте добры помогите разобраться.
Задача такая массив отсортировать методом шелла,с шагом h1=1,h2=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
 const int size=7;
int main()
{
    setlocale(LC_ALL, "rus");
    static char arr[] = {'И','В','А','Н','К','О','В','А'};
    int p=2;
    int h;
    int mas[]={0,2,1};
    int i,k,m,j;
    for(k=1;k<=p;k++)
    {
        h=mas[k];
 
        for(i=h+1;i<=size;i++)
        {
            t=arr[i];
            j=i-h;
              while((j<size)&&(t<arr[j]))
              {
                   arr[j+h]= arr[j];              
                   j=j-h;
 
                          } 
                arr[j+h]=t;
            }
            
        
    }
            
    for (m=0; m<size; m++)
     {
        cout <<"   "<< arr[m] ;
     }
     getch();
}
вот код с паскаля
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
h[1]:=2; h[2]:=1;
 for m := 1 to t do
begin
  k:=h[m];     
  for i := k+1 to n do
begin
  x := as[i];         
  j := i-k;
 while (x<as[j]) and (j<n) do 
begin                         
  as[j+k] := as[j];             
  j := j-k;
end;                           
    as[j+k] := x;
написала этот кусок потому что вот эту часть не получается правильно переписать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2010, 22:52
Ответы с готовыми решениями:

Не сходится теория и практика метод Шелла и метод простого выбора
Здравствуйте! Помогите пожулуйста найти ошибке в коде, Я уже не знаю где ее искать. У меня метод...

Помогите обнаружить ошибку в программе!
Помогите пожалуйста ! Вот код, не компилится, вылетает ошибка ! #include &lt;iostream&gt; //позволяет...

Задача по структурам, обнаружить ошибку
дан массив записей, содержащих время (час, минута, секунда). Упорядочить этот массив в порядке...

Как обнаружить метод Show?
Имеем 2 формы: Form1 и Form2. Код Form1: Private Sub Command1_Click() Form2.Show End Sub ...

2
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
14.10.2010, 13:00 2
C
1
2
3
    for(k=1;k<=p;k++)
        {
                h=mas[k];
индексация с нуля

C
1
2
3
4
    int mas[] = { 2, 1};
 
    for (k = 0; k < p; k++) {
        h = mas[k];
Добавлено через 4 минуты
C
1
const int SIZE = 8;
C
1
t=arr[i];
а где t создаётся ?

Добавлено через 4 минуты
wiki. сортировка Шелла. примеры
0
0 / 0 / 1
Регистрация: 23.11.2009
Сообщений: 61
15.10.2010, 00:31  [ТС] 3
пропустила строчку int t
Исправила,но всё по прежнему не работает((

Добавлено через 6 часов 10 минут
всё нашла ошибку,спасибо.
0
15.10.2010, 00:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.10.2010, 00:31
Помогаю со студенческими работами здесь

Дешифрование методом Виженера. Не могу обнаружить ошибку
Доброго времени суток! Сделала шифрование текста, получилось, а вот как дешифрую, получается еще...

Как в xls файле обнаружить обнаружить ненужные связи?
Есть файл, в нем куча листов, плюс модули VBA... При открытии эксель спрашивает обновить ли ему...

Не получается с сортировкой Шелла на С++
Доброго времени суток.Сразу оговорюсь &quot;код не мой я ещё слаб в написании но стремлюсь к обучении&quot;....

Не могу обнаружить ошибку в учебной программе из книги (шаблоны классов)
Вот упрощённый код учебной программы из книжки Детейла. Не компилится, пишет:...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru