Консультация онлайн # 202706

Раздел: С / С++
Автор вопроса: DanilaKotov3619 (Посетитель)
Дата: 04.05.2022, 00:13 Консультация неактивна
Поступило ответов: 1
Здравствуйте! Прошу помощи в следующем вопросе:
Прошу вас, помогите Написать программу реализующую алгоритм (Пирамидальная сортировка). Предусмотреть в диалоге возможность ввода и вывода информации как с клавиатуры так и из файла. Предусмотреть динамическое выделение памяти и если есть необходимость, то освобождение памяти. Язык реализации любой, можно как чистый СИ так и СИ++ (предпочтительнее чистый си...), использование STL.
Результаты работы программы на заданном массиве (не более 10 чисел). Показать, что для этих данных программа выдает верный результат. Показать как изменяется массив при сортировке. Оценить быстродействие и объём памяти в зависимости от исходных данных. Написать простейшую программу сортировки выбором и сравнить скорость работы пирамидальной сортировки и выбора на рандомном массиве из 100000 элементов. И прошу вас, если не затруднит, как можно больше комментариев где это возможно, буду вам ооочень признателен за помощь ;)

Ответ # 1, CradleA (Мастер-Эксперт)

Реализация сортировки:
Сортировка - исходный код который Вы можете использовать для своей программы.
Сортировка - вот еще один.


CradleA

Мастер-Эксперт
06.05.2022, 19:53
Нет оценки ответа

Мини-форум консультации # 202706

DanilaKotov3619

Посетитель

ID: 405402

325846

= общий =    04.05.2022, 00:16
Экспертам раздела
Уважаемые эксперты раздела, очень прошу о помощи в данном задании, нужно до 13.05 хотя бы, прошу не проходите мимо, если есть свободное время!!! smile
=====
Kotov3619
CradleA

Мастер-Эксперт

ID: 325460

325854

= общий =    04.05.2022, 12:46
Добрый день, какие сложности возникли с написанием кода?
=====
to live is to die
DanilaKotov3619

Посетитель

ID: 405402

325860

= общий =    04.05.2022, 21:48

Добрый день, какие сложности возникли с написанием кода?

Добрый вечер, проблемы в том, что я тот еще чайник в с/с++ и почти не шарю в этом, я больше за веб пк шарю, а в этих яп почти полный ноль (буду летом их изучать) а то ща у меня такая нагрузка в универе, что иногда хочется за веревкой сходить... потом еще на след неделе начинаются сессии, и мне вообще никак не успеть написать эту прогу, мне бы хотя бы до след пятницы, если не заняты smile smile
=====
Kotov3619
DanilaKotov3619

Посетитель

ID: 405402

325861

= общий =    04.05.2022, 21:49
я когда еще вспоминаю, что мне в эту пятницу защищать 3 лабы подряд по дискретной математике (там тоже нужно проги писать, но к счастью нашлись добрые люди, которые с ней помогли) то ваще плохо становиться (
=====
Kotov3619
DanilaKotov3619

Посетитель

ID: 405402

325875

= общий =    05.05.2022, 12:27
Кст, вы случайно не знаете, как исправить эти крякозябры? что я уже только не перепробывал... Да и еще почему то, если присмотритесь, то у меня путь к папке, которая на русском в cmd тоже в виде крякозябров ((

-----
Прикрепленные файлы:

=====
Kotov3619
CradleA

Мастер-Эксперт

ID: 325460

325876

= общий =    05.05.2022, 12:30
Windows не поддерживает кириллицу в командной строке скорее всего. Надо доставлять расширения на винду (к сожалению с хода не помню какие именно).
=====
to live is to die
DanilaKotov3619

Посетитель

ID: 405402

325878

= общий =    05.05.2022, 12:49
даже так не работает(((

-----
Прикрепленные файлы:

=====
Kotov3619
CradleA

Мастер-Эксперт

ID: 325460

325879

= общий =    05.05.2022, 13:22
Сортировка - исходный код который Вы можете использовать для своей программы.
Сортировка - вот еще один.

Напишите программу и если будет что-то не получатся спрашивайте в консультации, посмотрим что не так.
=====
to live is to die
Алексеев Владимир Николаевич

Мастер-Эксперт

ID: 259041

325987

= общий =    09.05.2022, 04:54
Windows поддерживает кириллицу в командной строке, показываю скриншот окна "чистой" КомСтроки WindowsXP .
Но ведь у Вас не Windows-КомСтрока, а КомСтрока Си-Редактора-кода, верно?

Вы много жаловались на свои проблемы с нехваткой времени. А зачем Вы тогда взялись изучать сложнейший язык Си?
Я пишу много лет свои программки на простейшем VBSript (Ссылка) , он не требует ни СредыРазработки, ни компилятора, его код сразу после написания готов к работе и работает достаточно быстро.
DanilaKotov3619

Посетитель

ID: 405402

326039

= общий =    11.05.2022, 16:11

Но ведь у Вас не Windows-КомСтрока, а КомСтрока Си-Редактора-кода, верно?

как сказать, у меня проблема с самой кодировкой в винде, т.е я вот через реестр в файле acp вместо 1251 ставлю себе 65001 и тогда у меня cmd отлично работает (и крякозябры полностью исчезают) и даже не нужно подключать никаких библиотек для русс локализации, но к сожалению, после этого проблемы в некоторых других программах (там инсталляторах), и это немного не удобно, т.к приходиться постоянно играться либо с 1251 либо 65001 ( жаль не могу пока найти способа, для норм работы как cmd так и программ (и инсталляторами) ((
=====
Kotov3619
DanilaKotov3619

Посетитель

ID: 405402

326040

= общий =    11.05.2022, 16:14

Вы много жаловались на свои проблемы с нехваткой времени. А зачем Вы тогда взялись изучать сложнейший язык Си?

ну, времени не хватает из за нагрузки в универе, а изучаю я си по учебной программе, вообще я пошел на программиста, т.к мне понравилось больше веб пк, но приходиться паралельно учить и c/c++, ща вот тоже vba проходим (уже к счастью сегодня была у меня последняя лаба по этому предмету и я все защитил) потом p5.js (комп.графика) ну и короче стараюсь успевать, как могу (
=====
Kotov3619
DanilaKotov3619

Посетитель

ID: 405402

326041

= общий =    11.05.2022, 16:15

Я пишу много лет свои программки на простейшем VBSript


у меня как раз таки по этому предмету 9.06 экзамен, и с ним бы тоже не помешала бы помощь ((
лабы то я все защитил, но с каким трудом
=====
Kotov3619
Алексеев Владимир Николаевич

Мастер-Эксперт

ID: 259041

326067

= общий =    12.05.2022, 15:46
Вы писали "у меня проблема с самой кодировкой в винде" - при этом Вы не сообщили, какая именно проблема?, поэтому подсказать Вам решение никто не сможет.

"вы случайно не знаете, как исправить эти крякозябры?" - Для исправления крякозяб надо знать их кодировку. Я ещё раз поанализировал Ваш скриншот, и пришёл к выводу, что это не OEM-DOS-кодировка , а utf-8 , именно в ней рус-заглав-буквы Р и С встречаются наиболее часто и ч-з 1 позицию. А Cmd и utf-8 - очень далеки друг от друга.

"через реестр в файле acp вместо 1251 ставлю себе 65001" - я не понимаю эту кашу. Инструменты работы с Реестром и Файловая система - это разные категории, которые НЕ смешиваются. О кодировке 65001 я впервые читаю. Хотя опыт с перекодированием у меня большой, я написал много функций быстрого пере-кода м-ду 1251 - 866 - utf-8 - URI …

"приходиться постоянно играться либо с 1251 либо 65001" - В сис-реестре можно добавить параметр autorun , кот-й каждый запуск КомСтроки начинает переключения кодировки в желаемую. Но Вы верно заметили, многие программы, возвращающие результ в окно ком-строки (Ping, ChkDsk, …) , игнорируют настройку режима Cmd.exe, то есть всё равно гонят кирилицу в Dos-кодировке. Я пол-года мучился с выводом ChkDsk . Потом придумал: VBScript, запускает ChkDsk с пере-направлением результа в dos-файл и сразу читает этот файл . Перекод-функция выворачивает кракозябы в кирилы и только потом выводит готовые сообщения на экран.

"я пошел на программиста" - а пишете, как чайник "на деревню дедушке". Если Вы хотите отправить сообщение конкретному человеку, то под ниже-заголовком "Пост в мини-форум" кликните по чёрному треугольничку в правой части поля "Адресат". Сервер покажет Вам выпадающий список участников текущей консультации. Выберите из этого списка желаемого адресата. Тогда Программа сервера отправит уведомление тому человеку, которого Вы указали.

А когда Вы отправляете тяп-ляп безАдресно, то прога сервера рассылает уведосления ВСЕМ участникам Вашей консультации, в тч Админу Раздела. Занятые люди понимают, что Вы писали не им, а Алексееву, у них возникает досада на флуд, тк Вы разделили свой пост ещё и на 3 части (кол-во уведомлений умножить на 3).

"VBSript - … и с ним бы тоже не помешала бы помощь" - задавайте вопросы в VBS-раздел. Эксперты помогут Вам. =Удачи! smile
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.