Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [С++] Сортировка Шелла 
:(
    Опции темы
djkarp
Дата 25.12.2006, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.4.2006

Репутация: нет
Всего: нет



1.Сортировка Шелла
Описать заданный вид сортировки
Написать программу выполняющий заданный вид сортировки
для массива из 8 элементов
1.Подсчитать количество подстановок для наилучшего случая
2.Подсчитать количество подстановок для наихудшего случая
3.Подсчитать количество подстановок для набора чисел (15550433)
Оценить время выполнения программы, используя метод подсчета количества выполняемых операторов!
Ребята выручайте пожалуйста, честное слово, остальное сделал осталось только это, как что хз, забыл все напрочь, завтра сдавать ! выручайте плиз

PM MAIL   Вверх
zabivator
Дата 25.12.2006, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 7.6.2006
Где: нск

Репутация: нет
Всего: 2



http://algolist.manual.ru/
есть центр помощи. Задолбали уже!
--------------------
#include <zabivator>int main( int, char * [] ){   while( Zabivator::жив() ) Zabivator::моск()++;   return 0;}
PM MAIL WWW ICQ   Вверх
Pete
Дата 25.12.2006, 01:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 5.1.2006
Где: Москва

Репутация: 7
Всего: 12



ru, 
en.


--------------------
Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу)
Не откладывай на завтра то, что можешь сделать сегодня. (Пословица)
А теперь выпишем точное значение числа пи... (Препод)
Жахни, Пендальф! © Гоблин
PM   Вверх
Alexeis
Дата 25.12.2006, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 23
Всего: 459




M
alexeis1
Модератор: Название темы должно отражать ее суть!



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
zkv
Дата 25.12.2006, 04:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 21
Всего: 92



Цитата(zabivator @  25.12.2006,  00:32 Найти цитируемый пост)
Задолбали уже!

терпимее надо быть smile
PM MAIL   Вверх
V.A.KeRneL
  Дата 25.12.2006, 05:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vadim A. Kazantsev
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 3.12.2006
Где: Moscow, Russia

Репутация: 7
Всего: 14



Цитата(zabivator @  25.12.2006, 00:32 Найти цитируемый пост)

http://algolist.manual.ru/

zabivator, Алголист уже какую неделю не работает!.. smile

djkarp, но с такими вопросами, действительно, надо в "Центр Помощи". 
А лучше с запросом к Википедии: 
http://en.wikipedia.org/wiki/Shell_sort
http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%...%BB%D0%BB%D0%B0
И Гуглу: 
http://www.google.com/search?hl=en&q=%...G=Google+Search
Вот что показалось самым интересным из найденного лично мне: 
http://www.codenet.ru/progr/alg/sort_search/shl.php


Это сообщение отредактировал(а) V_A_KeRneL - 25.12.2006, 05:31


--------------------
«C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы»
---/)/)---(\.../)---(\(\
--(':'=)---(=';'=)---(=':')
(")(")..)-(").--.(")-(..(")(")

PM MAIL IM ICQ AOL YIM MSN   Вверх
Earnest
Дата 25.12.2006, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 2
Всего: 183



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 


--------------------
...
PM   Вверх
Alexeis
Дата 25.12.2006, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 23
Всего: 459




M
alexeis1
Модератор: дублирование тем запрещено правилами форума. (темы объединил)



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
djkarp
Дата 25.12.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.4.2006

Репутация: нет
Всего: нет



Ребята коли она в центре помощи уже, вы не могли бы реально помочь, а то на примере ниче не ясно!
PM MAIL   Вверх
Rockie
Дата 25.12.2006, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 23.4.2006

Репутация: 13
Всего: 31



Цитата(djkarp @  25.12.2006,  14:42 Найти цитируемый пост)
Ребята коли она в центре помощи уже, вы не могли бы реально помочь

это деньгами чтоли?.. =)

Цитата(djkarp @  25.12.2006,  00:26 Найти цитируемый пост)
Описать заданный вид сортировки

То же самое, что пузырьковая, только сравниваются не рядом стоящие элемены. Интервалы могут быть разными, с каждой итерацией они уменьшаются(к примеру делятся на 2). Когда интервал равен 1, значит сравниваются рядом стоящие элементы, а это пузырьковая сортировка:

3 4 5 1 2 8 
1 4 5 3 2 8

Здесь длина массива 6, меняем местами элементы, отстоящие друг от друга на 3 позиции (половина массива), потом этот интервал уменьшаем в два раза, и сортируем пузырьковой. 
Если 8 элементов, то сравниваешь эл-ты на расстоянии в 4 элемента, потом в 2, потом пузырьковая сортировка.

Цитата(djkarp @  25.12.2006,  00:26 Найти цитируемый пост)
1.Подсчитать количество подстановок для наилучшего случая

это когда массив отсортирован

Цитата(djkarp @  25.12.2006,  00:26 Найти цитируемый пост)
2.Подсчитать количество подстановок для наихудшего случая

это когда отсортирован в обратном порядке



Это сообщение отредактировал(а) Rockie - 25.12.2006, 15:35


--------------------
Чтобы иметь большой гардероб - надо иметь большой гардероб.
PM   Вверх
djkarp
Дата 25.12.2006, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.4.2006

Репутация: нет
Всего: нет



Конечно спасиб те РОККИ, но только если б я че нить в этом шарил , то я бы не обращался, требуется исходный код всей задачи, вот и прошу может кто нить может помочь?!((
PM MAIL   Вверх
Rockie
Дата 25.12.2006, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 23.4.2006

Репутация: 13
Всего: 31



Цитата(djkarp @  25.12.2006,  19:36 Найти цитируемый пост)
Конечно спасиб те РОККИ, но только если б я че нить в этом шарил , то я бы не обращался, требуется исходный код всей задачи, вот и прошу может кто нить может помочь?!((

Сортировка Шелла использует пузырьковую, ее даже комментировать не буду. В программе массив объявлен как глобальный, так как вытаскивал сортировки из своего класса массивов. По-хорошему надо массив и размер в функции _передавать_.
Код
#include <iostream>

#define size 10

int array[size] = {4,6,32,5,8,90,5,3,2,-7};


void DisplayArray()                              // распечатка массива
{
    std::cout<<std::endl;

    for(int i=0;i<size;i++)
      std::cout<<array[i]<<' ';
}


void SortBubble()                                 // пузырьковая
{
    int tmp = 0, flag=1;

    while(flag)                                   // флаг условия Айверсона
    { 
        flag=0;
        for(int i=0;i<size-1;i++)  
          { 
           if(array[i]>array[i+1])      
            { tmp=array[i], array[i]=array[i+1],array[i+1]=tmp, flag=1;
            }
          }
    }
}


void ShellSort()                                  // Шелла
{
    int d=size/2;                                 // начальный интервал в половину массива
    int i=0,tmp=0;

    while(d>1)              
     { 
       if(array[i]>array[i+d])                    // если справа меньший элемент
        { tmp=array[i], array[i]=array[i+d], array[i+d]=tmp;   // меняем эл-ты местами
        }
       i++;                                       // двигаемся дальше по массиву
       if (i+d==size)                             // дошли до конца массива 
        { d/=2;                                   // уменьшаем интервал и повторяем
          i=0;
        }
     }

    SortBubble();                                 // сравниваются рядом стоящие элементы, 
                                                  // добиваем пузырьковой сортировкой
}



int main()
{ 
    DisplayArray();
    ShellSort();
    DisplayArray();

    return 0;
}






--------------------
Чтобы иметь большой гардероб - надо иметь большой гардероб.
PM   Вверх
Pete
Дата 25.12.2006, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 5.1.2006
Где: Москва

Репутация: 7
Всего: 12



Цитата(djkarp @  25.12.2006,  15:42 Найти цитируемый пост)
вы не могли бы реально помочь

Прикольно. Я думал, что скопировать готовую прогу с чужого сайта не сложно, но ошибся. Оказывается, надо выкладывать ПРЯМО сюда. И не дай Бог, не будет объяснена какая-то строка (даже та, где последняя фигурная скобочка закрывается  smile ).

Это сообщение отредактировал(а) Pete - 25.12.2006, 22:15


--------------------
Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу)
Не откладывай на завтра то, что можешь сделать сегодня. (Пословица)
А теперь выпишем точное значение числа пи... (Препод)
Жахни, Пендальф! © Гоблин
PM   Вверх
Rockie
Дата 25.12.2006, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 23.4.2006

Репутация: 13
Всего: 31



Цитата(Pete @  25.12.2006,  22:15 Найти цитируемый пост)
Прикольно. Я думал, что скопировать готовую прогу с чужого сайта не сложно, но ошибся.


Pete, а че прикольного? Ты хочешь сказать я чужую прогу выложил? Алгоритмы могут быть похожи, сортировки ведь в свое время где-то доставал, я ведь не Шелл. =) Но эта программа с моего винта, предъяви сайт с которого я по твоему мнению ее копировал.




--------------------
Чтобы иметь большой гардероб - надо иметь большой гардероб.
PM   Вверх
Pete
Дата 26.12.2006, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 5.1.2006
Где: Москва

Репутация: 7
Всего: 12



Заметь, я не тебя процитировал. По данным человеку ссылкам уже лежат готовые проги, можно было их взять. Но он захотел, чтобы непременно сюда код выложили.
Цитата(Rockie @  26.12.2006,  00:20 Найти цитируемый пост)
Ты хочешь сказать я чужую прогу выложил

Ни в коем случае!


--------------------
Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу)
Не откладывай на завтра то, что можешь сделать сегодня. (Пословица)
А теперь выпишем точное значение числа пи... (Препод)
Жахни, Пендальф! © Гоблин
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0609 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.