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

Дополнения к алгоритму Шелла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти сумму элементов находящихся на главной диагонали квадратной матрицы http://www.cyberforum.ru/cpp-beginners/thread76465.html
Помогите решить 2 задачки : 1) Найти сумму элементов находящихся на главной диагонали квадратной матрицы размером 3x3.Элементы массива вводятся с клавы. 2) Задать 2-x мерную матрицу с размером...
C++ Как заменить русские символы на их номера в алфавите? Дана строка произвольной длины из русских символов(текст).Необходимо заменить буквы, на их порядковые номера в алфавите(а на 1, б на 2 и т.д.). Ну и соответственно обратный процесс. http://www.cyberforum.ru/cpp-beginners/thread76463.html
C++ почему не меняются элементы класса c++?
я подразумеваю - потому-что выдаваемое значение это указатель... но тогда вопрос - а как сделать так, чтобы заработало? вот программка... класс описывает адрес; метод должен поменять strana на...
Как избавиться от "deprecated conversion from string constant to ‘char*’" C++
Здравствуйте. У меня компилятор пишет: _.cpp:15: warning: deprecated conversion from string constant to ‘char*’ _.cpp:16: warning: deprecated conversion from string constant to ‘char*’ Я...
C++ Не работает отладка http://www.cyberforum.ru/cpp-beginners/thread76430.html
Здравствуйте! Такая проблема. У меня есть программа, даже не программа, курсовой проект, с классами, методами и пр. Эта программа прекрасно компилируется, создается экзешник, все работает! Но... при...
C++ сумма элементов матрицы Надо подсчитать сумму элементов каждого столбца матрицы, у меня программа выводит только сумму первого столбца. Помогите вывести сумму всех столбцов вот мой код: #include <iostream.h> #include... подробнее

Показать сообщение отдельно
Монах
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 3

Дополнения к алгоритму Шелла - C++

19.12.2009, 01:43. Просмотров 560. Ответов 1
Метки (Все метки)

Задача.
Запрограммировать алгоритм Шелла сортировки одномерного массива действительных чисел. Подсчитать количество перестановок и сравнений элементов и указать массив из элементов {1,2…N}, для которого требуется максимальное количество перестановок и сравнений.

Вопросы:
1. Как правильно оформить процедуру ввода массива и вывода его на экран?
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
36
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
 
void shell_sort(int array[], int N){
    int i;
    int temp, Middle, change;
    Middle=N/2;
    do
    {
        do
        {
            change=0;
            for (i=0; i<N-Middle; i++)
                if (array[i]>array[i+Middle])
                {
                    temp=array[i];
                    array[i]=array[i+Middle];
                    array[i+Middle]=temp;
                    change=1;
                }
        }while (change);
    }while (Middle!=Middle/2);
}
 
main(){
    int array[100], i, Size;
    cin>>Size;
    for (i=0; i<Size; i++)
        cin>>array[i];
    shell_sort(array, Size);
    for (i=0; i<Size; i++)
        printf("%d",array[i]);
    getch(); 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru