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

Сортировка Шелла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структура point http://www.cyberforum.ru/cpp-beginners/thread117207.html
Ребят помогите. Нужно решить задачу с использованием структуры point. А задача такова - ННужно найти точку которая наиболее удалена от начала координат в плоскости. Я решила ее так: #include...
C++ Механизм перегрузки Ребят помогите. Нужно создать две версии функции, используя механимз перегрузки, заголовки у которых должны быть такими: №1 float F(float x); №2 void F (float x, float &y). 1) #include <iostream>... http://www.cyberforum.ru/cpp-beginners/thread117204.html
C++ В чем причина ошибки?
помогите разобраться почему выходит ошибка? #include <iostream.h> #include <string.h> #include <conio.h> #include <stdio.h> #include <math.h> int pr(float a,float b,float *p,float *s,float...
Поиск слов в строке без учета регистра C++
В общем пока только один вопрос (позже возможно еще возникнут) : Я сам написал функцию для поиска слов в строке, но ейе не хватает снятия учёта регистра. Ну например если пользователь введёт вместо...
C++ Cимвольные стоки http://www.cyberforum.ru/cpp-beginners/thread117177.html
Народ подскажите плз как сделать эту задачу :Функция выделяет из строки заданное количество слов, начиная со слова с заданным номером. И надо эти слова вывести в другой массив. Буду очнь благодарен).
C++ Аппроксимация числа Pi ПОМОГИТЕ решить вот эту задачу Аппроксимация 4(Pi) Один из быстрых методов подсчета числа Пи основывается на непрерывной дроби Пи =... подробнее

Показать сообщение отдельно
SphiNkSs
5 / 5 / 1
Регистрация: 28.03.2010
Сообщений: 143
15.04.2010, 21:48
Функция сортировки Шелла по убыванию:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void ShellSort(int masiv[])
{int i,q,mm=0,sch=0;         
q = j/2;
do
{i=q;
    do
    {mm=i-q+1;
     sch=1;
        do
        {if (masiv[mm]>=masiv[mm+q]) sch=0;
         else 
        {masiv[0] = masiv[mm];
        masiv[mm] = masiv[mm+q];
        masiv[mm+q] = masiv[0];}
        mm--;} 
        while(mm>=0 && sch);
        i++;}
    while(i<j);
    q=q/2;
} while(q>0);}
Вызов например:
C++
1
ShellSort(&masiv_dlya_sortirovki[20]);
Построчно считываешь из файла, загоняешь в массив, сортируешь и записывешь его в файл.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru