Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2017, 13:41   #1
Amiroff
 
Регистрация: 17.02.2017
Сообщений: 4
По умолчанию Сравнительный анализ двух методов сортировки C++

Добрый день, прошу помочь со следующей задачей:
Необходимо разработать программу для анализа методов сортировки таблицы.
Выполнить сравнительный анализ метода вставки с прямым включением и метода Шелла.
Сравнительный анализ методов сортировки следует выполнять путем
подсчета числа сравнений ключей, выполненных в процессе сортировки
таблицы различными методами.
Программа разрабатываемого должна удовлетворять следующим
требованиям:
1. Алгоритмы, реализующие операции над таблицами, нужно
оформить в виде процедур (функций) с соответствующими формальными
параметрами.
2. Таблица должна иметь не менее двух полей, одно из которых - ключевое.
3. На экран выводить:
а) начальную таблицу;
б) результаты выполнения шагов сортировки (поиска), что
демонстрируют конкретный метод (выводить только значение ключевого поля,
выделяя ключи записей, переставляются, цветом или другими
средствами)
в) окончательный результат сортировки
Прошу помочь разобраться с данной задачей!
Amiroff вне форума Ответить с цитированием
Старый 17.02.2017, 14:03   #2
Amiroff
 
Регистрация: 17.02.2017
Сообщений: 4
По умолчанию

Подскажите хотя-бы с чего начать
Amiroff вне форума Ответить с цитированием
Старый 17.02.2017, 16:13   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

1. Открыть учебник или вики и изучить требуемые алгоритмы сортировок.
2. Реализовать операции над таблицами в виде функции, как требует задание.
3. Повторить для всех требуемых вариантов сортировок:
а) вывести начльную таблицу
б) сделать шаг сортировки с подсчетом сравнения ключей, вывести пром. результат с выделениями
в) вывеести результат
p51x вне форума Ответить с цитированием
Старый 17.02.2017, 21:15   #4
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Могу помочь советом.

1) Изучи, в подробностях сами методы. В принципе, для этих целей, можно применить youtube. Ну вот, например:

https://www.youtube.com/watch?v=wfgTzA4IYpE
https://www.youtube.com/watch?v=RkpNdYf4oao
...........................
...........................
(не уверен тот ли метод вставками тебе нужен; часто там и коды программ приведены).

2) Реши вручную (а ещё лучше нарисовать каждый шаг решения в Paint). Можешь решить на небольшом примере таблицы.

3) Следующий шаг - напиши 2-е отдельные программы с сортировками (напомню, у многих видеороликов прямо код прилагают; но может какой-то метод и самому придётся написать)... Ты помнишь вручную считал, так вот, сопоставь результаты ручного и машинного счёта - одинаковы ли?

4) Следующий шаг:
"1. Алгоритмы, реализующие операции над таблицами, нужно
оформить в виде процедур (функций) с соответствующими формальными
параметрами."

Ну это чисто механически делается... В принципе, я мог бы сделать этот шаг.

5) Следующий шаг:
"2. Таблица должна иметь не менее двух полей, одно из которых - ключевое.
3. На экран выводить:
а) начальную таблицу;
выделяя ключи записей, переставляются, цветом или другими
средствами)
в) окончательный результат сортировки"

Это тоже я могу сделать... Но заметь, я удалил пункт "б"
(только мне не понятно что значит " цветом" - это VC++ или C++ Builder. Ладно, потом разберусь).

6) Следующий шаг:
"б) результаты выполнения шагов сортировки (поиска), что
демонстрируют конкретный метод (выводить только значение ключевого поля,
выделяя ключи записей, переставляются, цветом или другими
средствами)".

Это ты должен сделать.

Последний раз редактировалось ura_111; 18.02.2017 в 09:06.
ura_111 вне форума Ответить с цитированием
Старый 18.02.2017, 12:17   #5
Amiroff
 
Регистрация: 17.02.2017
Сообщений: 4
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
Могу помочь советом.
Спасибо. Забыл ещё добавить, что нужно обязательно
формирование таблицы путем считывания
записей из файла и ввод с клавиатуры, вывод содержимого таблицы . Вот на этом и запнулся пока.
Amiroff вне форума Ответить с цитированием
Старый 18.02.2017, 18:36   #6
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Какой ещё: "... клавиатура, вывод таблицы.... на этом запнулся..."?
Ты не понимаешь главный смысл своей работы... МЕТОДЫ СОРТИРОВКИ, а всё остальное - шелуха с семечек и пристраивается по ходу...

Я повторяю ещё раз: пиши два проекта по расчёту каждым из методов в отдельности. Не просто код приводи, а именно протестированный на контрольном примере (который предварительно необходимо решить вручную). Таким образом проверится адекватность методов... Это суть твоей работы - на ней и концентрируйся. Этот момент ты должен сделать сам:

Пока не будут готовы сами методы сортировок - на форум не возвращайся.

Это бессмысленная трата времени (лучше потрать его на "суть твоей работы"): я принципиально не буду ничего делать, а нулевых здесь особо не жалуют; нулевой - это значит "сделай за меня", - ну, одно дело, если нужна программа на уровне лабы... а у тебя на уровне курсача (в этом задании за целый семестр информация сконцентрирована - не меньше). Здесь за такое бабки берут... Ну, а если ты платить ничего не хочешь, тогда надо пахать...

p.s.1: на начальном этапе - пусть ввод всех данных для расчёта будет "жёстко в самой программе". Типа такого (я не до конца понимаю, что значит " таблица" - разберись с этим, но если имеется ввиду "двумерный массив"):
Код:
int M[4][6]={{5,6,7,4.....
             {0,4,54,6....
             ..............
или так
Код:
double M[4][6];
M[0][0]=6;
M[0][1]=54;
M[0][2]=22;
.................
................
(я не знаю как вас там учили)... И остальные параметры, необходимые для расчёта контрольного примера, тоже задаются в программе "жестко".

p.s.2: если совсем нулевой, тогда онлайн-курсы по с++:

0.jpg

Проходи курсы не один, а 3-5 раз; и когда проходишь не просто созерцай, а повторяй программы за лекторами... Если информации много - сначала смотри целиком (чтобы быть в курсе тем), а дальше выборочно: ну например, что тебе надо? Информация по теме ввод и обработка массива, - значит и лекцию такую проходи; ввести переменную в программу - значит и лекцию такую ищи...
Amiroff, трудности - это нормально, все через такое проходили (я тоже проходил через бессонные ночи, "разболелась голова от трудной задачи", "переспать с задачей"...). А ты что, другой?
И ты через такое пройдёшь...

Ну всё, хватит болтовни - решай проблему с методами.

Последний раз редактировалось ura_111; 19.02.2017 в 01:24.
ura_111 вне форума Ответить с цитированием
Старый 18.02.2017, 18:40   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
ну, одно дело, если нужна программа на уровне лабы... а у тебя на уровне курсача
С чего это вдруг?
Вроде ж в задаче просят просто реализовать два алгоритма сортировки и посчитать сравнения (if).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.02.2017, 18:52   #8
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Я насчитал:
1) работа с консолью (или что там имелось ввиду под "ввод с клавиатуры")
2) работа с файлами - это ещё одна лаба
3) сами методы - их тоже проходят не каждый день
4) если в задании концентрируется внимание на том что и так должно быть понятно: "оформить в виде процедур (функций) с соответствующими формальными
параметрами", то и это тянет на отдельную лабу с названием что-то вроде: "Работа с функциями".
5) какая-то графика
ura_111 вне форума Ответить с цитированием
Старый 18.02.2017, 18:56   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так скорее всего это курс не по Основам программирования, а по Алгоритмам )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.02.2017, 17:08   #10
Amiroff
 
Регистрация: 17.02.2017
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так скорее всего это курс не по Основам программирования, а по Алгоритмам )
Так и есть, Алгоритмы и структуры данных, лабораторная работа номер 1.
Amiroff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Диплом: сравнительный анализ архитектур фон Неймана и Фибоначчи (языки C или delphi) Tanshi Помощь студентам 0 02.06.2013 10:56
Разработать программу на паскале, позволяющую провести сравнительный статистический анализ текста kuzzz Фриланс 5 30.03.2010 23:38
Сравнительный анализ сортировок ttjke Свободное общение 5 09.12.2009 17:40
Сравнительный Анализ Сред Разработки Delphi,Builder,Fox Pro DelphiQuestions Помощь студентам 9 15.11.2009 19:59
сравнительный анализ различных методов сортировки целочисленных массивов Freak Помощь студентам 2 05.05.2008 12:37