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

Метод Шелла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Четные в начало массива, нечетные - в конец http://www.cyberforum.ru/cpp-beginners/thread180600.html
четные в начало массива выводит, а вот нечетные не хочет.. пишет вместо них какие-то тысячные числа, которых в исходном массиве нет. пробовал поступить так же как и с четными, перенести в другой массив.. тоже самое получается. например исходный массив 1 2 3 4 5 6 выводит 2 4 6 2343 35546 6443 подскажите пожалуйста, как исправить # include <iostream.h> # include <stdlib.h>
C++ Есть файл написанный в borland 3.1. Мне его нужно открыть и откомпилировать. Есть файл написанный в borland 3.1. Мне его нужно открыть и откомпилировать. Но не получается с borland ничего запускаю файл BC.EXE, открывается окно и зависает. Подскажите пожалуйста где взять рабочий borland 3.1 или какой нибудь другой компилятор который сможет открыть этот файл!!! http://www.cyberforum.ru/cpp-beginners/thread180598.html
C++ Баг в программе по вычислению обратной матрицы
Программа по нахождению обратной матрици!!! не могу найти ошибку - выдаёт одни и те же ответы!!! #include <stdio.h> #include <conio.h> void main() { int a1,a2,a3,b1,b2,b3,c1,c2,c3; int a11,a12,a13,a21,a22,a23,a31,a32,a33; int x1,x2,x3,x4,x5,x6,x7,x8,x9;
Какая функция отвечает за очистку экрана? C++
собственно вопросы в 120 142 170 178 183 208 строках написаны какая функция отвечает за очистку экрана(только не clrscr из conio.h)? #include <iostream> #define maxn 1000 typedef struct //äåê ïðåäñòàâëÿåòñÿ ñîáîé çàïèñü ñ 2 ìÿ ïîëÿìè { int dt,dh; //óêàçàòåëè íà ìåñòî êóäà íàäî äîáàâèòü ýëåìåíò òî áèøü ïîçèöèÿ int a; //ìàññèâ ýëåìåíòîâ
C++ сортировка выбором http://www.cyberforum.ru/cpp-beginners/thread180573.html
не могу разобраться с задачей, не разбираюсь в указателях(((: сортировка выбором символов в строке. Использовать указатели на текущий и минимальный символы. Помогите пожалуйста!
C++ Анкета Сотрудника Задание структуры Задано множество объектов, каждый из которых описывается совокупностью признаков Р1, Р2, Р3, Р4, Р5, Р6 (таблица 1). Требуется: - выбрать объекты, признаки которых удовлетворяют условиям из таблицы 2; - для этих объектов распечатать признаки, указанные в таблице 3. Объект - Анкета Сотрудника подробнее

Показать сообщение отдельно
papochka
 Аватар для papochka
32 / 32 / 2
Регистрация: 14.11.2009
Сообщений: 137
24.10.2010, 10:58     Метод Шелла
Что именно что-то не так? Конкретно вопрос?
Не компилируется? Не тот результат? Что?

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
#include <iostream>
#include <ctime>
#include <math.h>
using namespace std;
int main(int argc, char* argv[])
{
        int i,n,j,inc,x;
        cin>>n;
        int *A= new int [n];
        for (i=0;i<n;i++)
        {
        A[i]=rand()%20;
        cout<<A[i]<<" ";
        }
        for (inc=n/2;inc>=1;inc=inc/2)
        {
                while (inc>0)
                {
                        for (i=inc+1;i<=n;i++)
                        {
                                j=i-inc;
                                while (j>0)
                                {
                                        if (A[j]>A[j+inc])
                                        {
                                                x=A[j];
                                                A[j]=A[j+inc];
                                                A[j+inc]=x;
                                        }
                                }
                                
                        }
                }
        }
        for (i=0;i<n;i++)
        {
        cout<<A[i];
        }
        cin.get();
        return 0;
}
Но что-то у вас в этом участке кода:
C++
1
2
3
4
5
6
7
8
9
                                while (j>0)
                                {
                                        if (A[j]>A[j+inc])
                                        {
                                                x=A[j];
                                                A[j]=A[j+inc];
                                                A[j+inc]=x;
                                        }
                                }
В отладке он получается всегда больше нуля, и бесконечно работает, значение не меняется....
 
Текущее время: 10:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru