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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Утечка памяти в работе с классами http://www.cyberforum.ru/cpp-beginners/thread176158.html
вроде утечка памяти наблюдается в функции "loadfromfile", помогите пожалуйста исправить #include "stdafx.h" #include <windows.h> #include <stdlib.h> #include <iostream> using namespace std;
C++ Ввести имена и телефоны сотрудников организации в массив записей и вывести их в виде таблицы. Запись содержит несколько компонентов, или полей, которые могут иметь различные типы. Синтаксис: Record Поля; Поля; ... Поля End; Замечания: http://www.cyberforum.ru/cpp-beginners/thread176156.html
C++ одномерные массивы
Помогите, пожалуйста, сделать задание, ну хотя бы намекните! В одномерном массиве, который состоит из n действительных чисел, найти сумму элементов между первым и последним нулевыми элементами. В...
Дан класс C++
Дан класс(Myclass).Добавть дружественную функцию,которая получит один параметр типа myclass и возвращает значение true,если параметр отрицательный, и false в противном случае class Myclass{ int...
C++ Встраеваемые функции http://www.cyberforum.ru/cpp-beginners/thread176144.html
Написать программу определения max и min числа,используя встраеваемые функции.Продемонстрировать работу функции
C++ Создать класс Employee, содержащий следующие элементы: Создать класс Employee, содержащий следующие элементы: - поле «ФИО» char* FIO; - поле «Табельный номер» int Number; - поле «Возраст» int Age; - поле «Стаж» int Stage; - метод получения ФИО ... подробнее

Показать сообщение отдельно
sever1313
0 / 0 / 0
Регистрация: 23.11.2009
Сообщений: 61

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

13.10.2010, 22:52. Просмотров 404. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.