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

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

Войти
Регистрация
Восстановить пароль
 
sever1313
0 / 0 / 0
Регистрация: 23.11.2009
Сообщений: 61
#1

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

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

Проблема в том что я написала программу на паскале,а преподаватель попросил перевести на си,и теперь не могу понять где эта ошибка,выводит не тот результат,я даже по шагово проделывала,где то сбивается(.Будьте добры помогите разобраться.
Задача такая массив отсортировать методом шелла,с шагом 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2010, 22:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не получается обнаружить ошибку(метод Шелла) (C++):

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

Задача по структурам, обнаружить ошибку - C++
дан массив записей, содержащих время (час, минута, секунда). Упорядочить этот массив в порядке &quot;убывания&quot;, т.е. от более поздних значений к...

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

Не могу обнаружить ошибку в учебной программе из книги (шаблоны классов) - C++
Вот упрощённый код учебной программы из книжки Детейла. Не компилится, пишет: /123/main.cpp|21|error: request for member ‘print’ in ‘l’,...

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

Метод Шелла - C++
попробовала написать это в С++, но что-то не так. можете подсказать #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; ...

2
accept
4831 / 3252 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
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
sever1313
0 / 0 / 0
Регистрация: 23.11.2009
Сообщений: 61
15.10.2010, 00:31  [ТС] #3
пропустила строчку int t
Исправила,но всё по прежнему не работает((

Добавлено через 6 часов 10 минут
всё нашла ошибку,спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2010, 00:31
Привет! Вот еще темы с ответами:

Метод Шелла - C++
Помогите пожалуста решить задачу. Провести сортировку последовательности а1, … , аn методом Шелла. ЗАранее спасибо.

Метод Шелла - C++
Ошибка после сортировки методом Шелла. По примеру сайта http://kvodo.ru/sortirovka-shella.html В чем ошибка? #include...

Метод Шелла - C++
Помогите найти ошибку. Задание - Провести сортировку последовательности а1, … , аn методом Шелла. Вот что получилось. ...

Метод Шелла - C++
Проверить упорядочены ли элементы строк матрицы. Если нет, то упорядочить их в порядке убывания методом Шелла.


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

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

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