Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
06.09.2016, 17:02
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
можно еще на две строчки сократить
Конечно, если сделать это в функции.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.09.2016, 17:02
Ответы с готовыми решениями:

БС против ПФ?
Есть сайт, главная в выдаче по многим НЧ, под тайтлом быстроссылки ~6-8штук. Пользователь видя нужный раздел, щелкает по быстроссылке тем...

F-22 против Су-37
_VOFdXO929Q Порадовали однако :)

Ul против DIV
Привет. Есть макет, в котором слайдер. Правильно ли оформлять блок ul+li? Или же заменить всё это на div? Как правильнее, удобнее, и тд....

302
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
06.09.2016, 17:04
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Конечно, если сделать это в функции.
C++
1
2
3
    char *p=a;
    while(*p++);
    printf("%d", (int)  p-a-1);
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
06.09.2016, 17:08
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
ократить
C
1
2
3
4
5
6
size_t strl(const char *a)
{   
    const char *p=a;
    while(*p++);
    return(p-a-1);
}
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
06.09.2016, 17:23
Цитата Сообщение от CoderHuligan Посмотреть сообщение
The same thing is true in programming: you have to start with interesting algorithms. Only when you understand them well, can you come up with an interface that will let them work.
Неосилянт. В ООП интерфейсы классов под алгоритмы проектируются а не алгоритмы под интерфейсы.

Добавлено через 4 минуты
CoderHuligan,
Ну с функцией можно вообще сократить
C++
1
size_t  strl(const char* a){ return *a ? strl(a+1)+1 : 0;}
при этом толковый компилятор рекурсию в цикл сам преобразует.
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
06.09.2016, 17:32
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
при этом толковый компилятор рекурсию в цикл сам преобразует.
Но у тебя тут НЕ хвостовая рекурсия
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
06.09.2016, 17:33
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Неосилянт
Это мода такая - всем, чьи взгляды не соответствуют нашим, навешивать этот ярлык? Смешно.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
В ООП интерфейсы классов под алгоритмы проектируются а не алгоритмы под интерфейсы.
Тогда это не ООП.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
06.09.2016, 17:34
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Тогда это не ООП.
Это именно ООП. А наоборот это вообще все что угодно но не проектирование архитектуры программного обеспечения.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
06.09.2016, 17:35
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
при этом толковый компилятор рекурсию в цикл сам преобразует.
А смысл?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
06.09.2016, 17:56
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А смысл?
Вот и я говорю что в ФП смысла нет.

Добавлено через 1 минуту
Цитата Сообщение от Voivoid Посмотреть сообщение
Но у тебя тут НЕ хвостовая рекурсия
Толковый компилятор и такое должен запросто разбирать. (не факт конечно что на сегодняшний день такие оптимизторы существуют)

Добавлено через 3 минуты
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А смысл?
Или смысл преобразовывать? Смысл преобразовывать есть. Экономия стека и времени выполнения.

Добавлено через 10 минут
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Это мода такая - всем, чьи взгляды не соответствуют нашим, навешивать этот ярлык
Нет. Просто в данном случае по высказываниям видно что человек суть ООП не понял.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
06.09.2016, 17:59
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Просто в данном случае по высказываниям видно что человек суть ООП не понял.
Как раз понял, поэтому так и говорит. Знаете почему у вас с ООП всё получается(как бы)? Потому, что вы используете традиционный императивный стиль, но с ООП-плюшками...
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
06.09.2016, 18:02
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Потому, что вы используете традиционный императивный стиль
А другого стиля не существует. Даже в природе. К примеру когда двигаешь вперед сектор газа отдаешь двигателю приказ увеличить впрыск топлива в камеру сгорания.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
06.09.2016, 18:06
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А другого стиля не существует.
Существует. Это - ООП. Но его никто не использует, ибо это невозможно.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
06.09.2016, 18:16
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Как раз понял, поэтому так и говорит
Да вот знаешь странно получается. В STL как и в любой рабочей ООП-библиотеке интерфейс классов спроектирован под выполняемые ими задачи. А говорит что в ООП делают наоборот.... странно однако. Он наверное перед интервью не бухает а по вене пускает...

Добавлено через 7 минут
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Существует. Это - ООП. Но его никто не использует, ибо это невозможно.
ООП это всего лишь способ группировки функций по применимости к наборам данных. Не можно конечно работать с объектами по принципу "создал, настроил, добавил в модель и забыл". Но для того чтобы они так работали и под капотом каждого класса добавляемых в модель объектов и под капотом самого контейнера-конвейера дережирующего взаимодействиями и отдающего объектам команды пересчета своего состояния должна быть самая обычная империтивщина.
0
10 / 10 / 0
Регистрация: 13.06.2016
Сообщений: 62
06.09.2016, 19:30
Цитата Сообщение от Avazart Посмотреть сообщение
Ну так это не проблема данного кода
есть практика, как испорченные строки хаваются кодом из библиотек? там жи десятки обработчиков ошибок
0
07.09.2016, 02:33

Не по теме:

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Толковый компилятор и такое должен запросто разбирать. (не факт конечно что на сегодняшний день такие оптимизторы существуют)
Вот это сильно сказано.

0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
07.09.2016, 09:02
Цитата Сообщение от Nojabr Посмотреть сообщение
есть практика, как испорченные строки хаваются кодом из библиотек?
Расшифровать можно что значит испорченные? Или терминатор в конце или длина в начале должны быть корректные. Иначе будет вылет за пределы.

Добавлено через 4 минуты
При этом у некоторых системных библиотек терминатор не '\0' а '\n'

Добавлено через 5 минут

Не по теме:

Цитата Сообщение от _Ivana Посмотреть сообщение
Вот это сильно сказано.
Ну исходит из того что главное для такой оптимизации увидеть рекурсию. А раз рекурсию мертвую видят даже с учетом ветвления то и это увидеть могут. Вопрос только в том насколько производители компиляторов заморачиваются с такой оптимизацией. Стандарт обязывает только в плане хвостовой рекурсии заморачиваться.

0
10 / 10 / 0
Регистрация: 13.06.2016
Сообщений: 62
08.09.2016, 14:46
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
что значит испорченные?
ну, неужто не применяются алгоритмы, которые могут определить, что в массиве именно строка, а не строка без терминатора, бинарные данные или числа? вопрос не имеет ничего общего с тем, что "так делать нельзя", хотя в некоторых левых DLL библиотеках есть ограничение, например на длину пути к файлу в 255 символов, иначе лаги с чтением за пределом массива гарантированны. случай таков, что размер строки нужен лишь единожды и если она длинней 255 символов, то она нафиг не нужна
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
08.09.2016, 14:51
Цитата Сообщение от Nojabr Посмотреть сообщение
например на длину пути к файлу в 255 символов, иначе лаги с чтением за пределом массива гарантированны
Та нет. просто это ограничения времен ДОСа. И растут они от строк хранящих длину в начале в char.
Цитата Сообщение от Nojabr Посмотреть сообщение
неужто не применяются алгоритмы, которые могут определить, что в массиве именно строка, а не строка без терминатора, бинарные данные или числа?
А зачем? тем более что четких критериев отличить последовательность char (текст) от последовательности int в принципе нет.
0
10 / 10 / 0
Регистрация: 13.06.2016
Сообщений: 62
08.09.2016, 15:01
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
ограничения времен ДОСа
эврика, я с ним до сих пор работаю.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А зачем?
Цитата Сообщение от Nojabr Посмотреть сообщение
вопрос не имеет ничего общего с тем, что "так делать нельзя"
0
829 / 253 / 34
Регистрация: 27.07.2016
Сообщений: 497
Записей в блоге: 1
08.09.2016, 17:59
Дабы взорвать пуканы неверных,
картинку свою я сюда положу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.09.2016, 17:59

C# против VB.NET
На многих форумах в последнее время я встречаю рассуждения программистов (и даже чистых VB-шников), о том, что вместо изучения VB.NET нужно...

Многоженство: за и против
В наше время уже никого и никаким развратом и извратом не удивишь: мы равняемся на Запад, мы живём по меркам Голливуда. И разговоры о...

Изучение C++: за и против
Всем доброго вечера! Часто при прочтении статей о программировании или форумов программирования и вижу слова/ответы, на подобии таких:...

NetBeans - за и против
Кто работал с NetBeans пожалста не напишите свои откровения за и против в сравнении с другими IDE, типа IDEA, JBuilder, и т.д. Заранее...

Линукс против ХР
меня наверное все будут считать ламером, но... взял сегодня новый ноут под Линуксом. форматнул диск С и поставил себе ХР. других разделов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
300
Ответ Создать тему
Опции темы

Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru