|
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 7
|
|
Сколько времени на это уйдет ?06.09.2017, 17:52. Показов 3895. Ответов 39
Метки нет (Все метки)
Начинаю изучать Си, тяжело мне дается честно сказать. Напишу пример задачи, хотелось бы знать сколько времени нужно чтобы написать ее, занимаясь каждый день по 2 часа, плюс я не какой-то гений.
Задача: Дан массив. Вывести на экран его максимальный элемент и сколько раз он встречается в массиве.
0
|
|
| 06.09.2017, 17:52 | |
|
Ответы с готовыми решениями:
39
Определить сколько краски уйдет на покраску комнаты Сколько времени уйдет на перенос данных? Сколько времени уйдёт на изучение STL и Boost? |
|
Модератор
|
||
| 08.09.2017, 16:19 | ||
|
Паскаль был изначально создан специально для обучения, его синтаксис меньше провоцирует на совершение неявных ошибок, позволяя сосредоточиться на собственно алгоритмах, а не на выискивании синтаксических "блох" в коде.
1
|
||
|
93 / 77 / 31
Регистрация: 29.08.2017
Сообщений: 188
|
|
| 09.09.2017, 15:40 | |
|
Поддерживаю идею, только сейчас, в XXI веке, я бы рекомендовал взять какой-нибудь язык со сборкой мусора: Go, Python, C#, Lua, Java. Может быть даже Scheme, если ТС будет заниматься по книге "Структура и интерпретация компьютерных программ". Или Haskell, если охота настоящей функциональщины. Действительно, чтобы понимать алгоритмы, язык не важен, но высокоуровневый позволяет сосредоточиться исключительно на алгоритме, как таковом. А уж поняв алгоритм, реализуешь его на чем угодно, хоть на C, хоть на Forth, хоть на ассемблере.
Выгода от использования C может быть в том, что из-за скудости стандартной библиотеки любые структуры данных придется создавать самому. Что дает понимание, как они устроены. То же самое касается ООП: релизуя его на C, понимаешь как он "встроен" в ОО-языки. Но для того, чтобы понимать структуры данных, надо о них для начала знать. Вот и рождаются вычурные и неэффективные решения на С, объясняемые тем, что в нем, например, нет хэш-таблиц. И тут идет выбор меньшего зла: либо реализовывать хэш-таблицу самому, либо попытаться реализовать алгоритм без него. А вот в Lua, наоборот, хэш-таблица - единственный "коллекционный" тип данных. Но это может привести к тому, что начинаешь воспринимать хэш-таблицу как "золотой молоток", слишком привыкаешь использовать их где ни попадя. То есть у каждого языка есть достоинства и недостатки. Точнее, свои слабые и сильные стороны. И если хочешь изучить какую-то тему глубоко, можно взять язык, в котором эта тема - сильная сторона. Например, генераторы есть много где, но язык Unicon весь построен на них, что дает очень интересные эффекты и позволяет использовать идиомы, которых нет в других языках (но их можно туда привнести, но для этого надо иметь о них представления, а для этого желательно хотя бы чуть-чуть потренироваться на Unicon, из особенностей которого они и родились естественным образом). Ну и так далее и тому подобное. Изучение многих языков расширяет мышление. Знание одного - углубляет знания. Так что многое зависит еще и от того, хочет ли ТС развиваться в глубину или в ширину. Тот же C++, например, можно изучать десятилетиями, и все еще находить там неизвестные особенности, типа скрытых утечек памяти при передаче lvalue-параметра.Пока у ТС есть время и он еще толком не знает, каким языком будет зарабатывать на жизнь (если вообще состоится в этой профессии), я бы рекомендовал развиваться "в ширину", изучая алгоритмы, структуры данных, парадигмы программирования, идиомы разных языков... Как минимум два языка, один сравнительно низкоуровневый (здесь очень подходит C), один высокоуровневый - Python, Ruby, JavaScript... И еще один совет: пока мозги молодые, гибкие, изучи хотя бы один "экзотический" язык, которого (почти) никто не знает. Вакансии по ним появляются редко, но если уж появятся, то претендентов нет. Джавистов нужно много, а на рынке труда их еще больше, а вот Erlang, APL/J, haXe или Cobol нужны сравнительно редко, но на рынке труда специалистов по ним почти нет. Есть и другая точка приложения сил. Есть "вторичные" языки, которые, наоборот, нужны почти всем, независимо от "первичного" языка. Я имею в виду SQL и регулярные выражения.
1
|
|
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
||||
| 09.09.2017, 19:17 | ||||
if ( *i > *max || max == NULL ). Зачем каждый раз проверять max == NULL? По контексту понятно, что это условие выполнится только на первой итерации.2. ( Мое сугубое мнение ) int* max = arr;, тогда бы и не пришлось выполнять эту дурацкую проверку: max == NULL.
0
|
||||
|
93 / 77 / 31
Регистрация: 29.08.2017
Сообщений: 188
|
|||||
| 10.09.2017, 15:43 | |||||
Могу только повторить Вам Ваши же собственные слова:
1
|
|||||
|
|
||
| 10.09.2017, 16:51 | ||
|
0
|
||
|
93 / 77 / 31
Регистрация: 29.08.2017
Сообщений: 188
|
||
| 10.09.2017, 17:48 | ||
|
1
|
||
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
||||||
| 10.09.2017, 18:09 | ||||||
|
Добавлено через 1 минуту
0
|
||||||
|
|
||
| 10.09.2017, 18:10 | ||
|
По факту мы имеем не практике такую картину, что процессоры становятся более быстрыми, а софт тормозит всё больше и больше. Отчасти (возможно, что даже в подавляющей части) причина связана именно с этим - люди не понимают и не хотят понимать, как работает компилятор. Ну а коль ты заговорил о других языках программирования, то не хотят разбираться с тем, какую конкретно задачу на каком языке программирования более грамотно реализовать. Людям кажется, что достаточно включить самый высокий уровень оптимизации, как компилятор сам исправит все алгоритмические и проектировочные косяки
3
|
||
| 10.09.2017, 18:14 | |
|
0
|
|
|
|
||
| 10.09.2017, 20:09 | ||
|
0
|
||
|
93 / 77 / 31
Регистрация: 29.08.2017
Сообщений: 188
|
||||
| 12.09.2017, 06:36 | ||||
|
0
|
||||
| 12.09.2017, 11:02 | |
|
Не по теме: Кто сказал, что право на пост имеют только Гуру? В правилах форума такого пункта нет. Человек что-то написал, он может ошибаться. Есть лучшие варианты - исправьте, объясните нормально, культурно, без наездов, в чём он ошибается и всё тут. Иначе, создаётся впечатление, что улучшенные варианты не для того, что бы помочь ТС либо менее знающему человеку, а что бы доказать ему, что он чайник. Форму, Господа, ещё никто не отменял! Если даже кто-то прав, но излагает свою речь в саркастичном/унизительном по отношению к оппоненту тоне, то и его правда никому уже не нужна, имхо.
1
|
|
|
|
|
| 12.09.2017, 12:29 | |
|
0
|
|
|
93 / 77 / 31
Регистрация: 29.08.2017
Сообщений: 188
|
||
| 12.09.2017, 15:59 | ||
|
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
||
| 12.09.2017, 18:48 | ||
|
Насколько я знаю, стандарт не оговаривает механизм передачи аргументов, это решает компилятор.
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|
| 12.09.2017, 20:22 | |
|
Не совсем. Под ту же AVR есть несколько разновидностей компиляторов Си - gcc, CodeVisionAVR, IAR и другие. У каждого из них свои соображения по передаче параметров.
В любом случае Си предназначен для написания переносимых программ, а значит надо стараться как можно меньше полагаться на особенности какой-то конкретной реализации.
2
|
|
|
|
|
| 12.09.2017, 20:32 | |
|
Чота глюкнуло и перепутал ARM с AVR
Под всякие специализированные железки (встроенные/сигнальные процессоры и т.п.) вполне возможно, что может твориться беспредел (т.е. коды, полученные разными компиляторами, могут быть несовместимыми). Но из этого никак нельзя делать глобальных выводов о том, что механизм передачи компилятор делает так, как ему вздумается. Для всех культурных процессоров есть программные соглашения, в которых всё записано
0
|
|
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|
| 12.09.2017, 21:02 | |
|
Но это все равно лишь договоренности. Причем компиляторы зачастую умеют подстраиваться к нетипичному способу. Вроде как передача параметров в Паскале, gcc и микрософтовском Си тоже несколько отличаются (глубоко не копал, наверное, порядком и тем, кто именно освобождает стек), поэтому иногда ставят модификаторы stdcall, pascal, __cdecl. Модификатор fastcall рекомендует компилятору передавать через регистры.
В общем, граблей хватает и на x86, надо только хорошенько поискать
0
|
|
|
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 7
|
|
| 13.09.2017, 22:44 [ТС] | |
|
Всех понял, всем спасибо
![]() Добавлено через 1 минуту спасибо большое, чуток разжевал )
0
|
|
| 13.09.2017, 22:44 | |
|
Сколько примерно времени уйдет, чтобы выучить язык C#? За сколько уйдет мой пк? Определите, сколько дней уйдёт у Юры на подготовку к олимпиаде
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|