Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/56: Рейтинг темы: голосов - 56, средняя оценка - 4.64
Заблокирован
30.06.2011, 13:10  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от easybudda Посмотреть сообщение
Да прям по пунктам. Имеем: упорядоченный набор букв a, который должен включать в себя упорядоченный набор букв b.
Смотрим, что происходит
Нет. Вы сейчас не читали код. Вы сейчас рассказывали ИДЕЮ, который этот код ДОЛЖЕН был бы
реализовать. Разницу чувствуете?

А теперь представьте себе человека, который в первый раз в жизни видит этот код, и он НЕ ЗНАЕТ заранее, что этот код должен делать.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//Имя функции test() ни о чем мне не говорить. Тест какой то... 
//Функция что-то тестит. Что - не понятно. 
//Она возвращает int, учитывая что задача функции - тестить, 
//то скорее всего смысл возвращаемого значения - результат теста. 
 
//Что я могу рассказать про аргументы? имена аргументов ни о чем не говорят. 
//Их предназначение пока ещё не понятно. 
//Единственное, что по ним видно - это то, что функция
//гарантирует, что не будит менять данные, на которые указывают указатели....
 
int test(const char * a, const char * b)
{
    //Начинается тихий ужас... не зная ни предназначения функции, 
    //ни используемый ею алгоритм
    //я не могу знать наверняка, что подразумевал автор кода, 
    //когда писал эту строчку.
    //я могу лишь догадаться о предназначении функции, 
    //мысленно скомпилировав этот код
    //и по самому поведению программы предположить, 
    //какое у функции может быть предназначение....
    
    //Начинаю мысленную компиляцию....
    //( ! *b ) заменяю на (*b==0)
    //Если значение ячейки памяти по адресу, на который указывает b равно нулю, тогда... вернуть 1 
    //Иначе.... опять условие, ныряю....
           //опять заменяю  ( ! *a ) на (*a==0).... если значение ячейки памяти по адресу, на который указывает a равно нулю, тогда....
                 //опять условие, ныряю....
   //преобразую тот код, что уже мысленно скомпилировал:
   //если по адресу на который указывает b храниться ноль, тогда выйти из тела функции сразу, вернув 1...
   //иначе, если по адресу на который указывает указатель a хранится ноль, тогда выйти из тела функции вернув ноль...
  
  //если же значение ячейки памяти, на которую указывает b не равно нулю и значение ячейки памяти, на которую указывает a тоже не равно нулю, то сравниваем их на равенство друг с другом...
  
  //Если значение ячейки памяти, на которую указывает b содержит такое же значение, что и ячейка памяти, на которую указывает a, то... уходим в рекурсию, инкрементировав оба указателя..
  //Если же значения ячеек памяти на которые указывают указатели b и a различны, тогда ... уходим в рекурсию, инкрементировав только указатель a
 
  //Уйдя в рекурсию повторить весь цикл... 
  //так как, прежде чем уйти в рекурсию, значения обоих указателей (либо только указателя a ) изменяется, то следовательно, изменяется и содержимое ячеек памяти, на которые они указывают.
  //рано или поздно, либо указатель b либо указатель a должны начать указывать на ячейку памяти, которая содержит ноль. Это будит выходом из рекурсии...
 
 //И вот только теперь, переварив этот достаточно объёмный текст, который пришлось генерировать у себя в голове, и генерировать "на лету", только в этот момент можно сделать предположение о том, что это за алгоритм, ЕСЛИ ЗНАЕШЬ, КАКУЮ ЗАДАЧУ РЕШАЕТ ФУНКЦИЯ.
 
Если не знаешь - придётся скакать ещё выше и анализировать те функции, которые эту функцию используют. И таким вот черезжопинским методом (эвристический анализ) выяснять, для чего эта функция была создана, и как она работает.
 
return ( ! *b ) ? 1 : ( ! *a ) ? 0 : ( *b == *a ) ? test(++a, ++b) : test(++a, b);
 
//Все что я могу сказать, поняв, что происходит в теле функции, это что она возвращает 1 или 0
А так же, производит анализ указателей типа char
 
}
Если вдруг не дай бог, окажется что код делает не то, что нужно (семантическая ошибка), то найти её в массе вот таких нечитабельных функций даже с самим автором кода будит ой как не просто. А без автора вообще лучше сразу застрелиццо.

Собственно, для этого и существуют говорящие имена функций/переменных, комментарии, и тп.

Угадайте, что делает ниже приведенный код?

if( containerPointers.IsEmpty==1) { ... }

А вы сильно напрягались, что бы понять смысл условия?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.06.2011, 13:10
Ответы с готовыми решениями:

Что означает ptr в строке byte ptr[si],al
Что означает ptr в строке byte ptr,al Вот весь код, может понадобится Преобразование двоичного числа в шестнадцатеричную форму ...

Ошибка на стадии выполнения ptr = ptr;
class CObject { friend Parser; // много полей методов, все должны заполняться в парсере } class Parser { CObject * object_...

bad ptr
Здравствуйте! Пишу небольшую программу для работы с текстом. При substr'е куска строки вывелся не только нужный мне кусок, но и немного...

200
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
30.06.2011, 13:40
Цитата Сообщение от Bers Посмотреть сообщение
Угадайте, что делает ниже приведенный код?
if( containerPointers.IsEmpty==1) { ... }
Выдаёт ошибку, потому что IsEmpty, скорее всего, функция, и сравнивается она с int'ом. Угадал?
0
Заблокирован
30.06.2011, 13:53  [ТС]
Цитата Сообщение от Vourhey Посмотреть сообщение
Если брать учебный пример, то, в принципе, пофиг. Но в нормальной проге я бы так (!ptr) писать не стал.
А вы представьте себе, что вот вы - супер модератор! Эксперт в области с++
И пишите простенькие примерчики для студентов, пренебрегая читабельностью, ибо вам пофиг, и банально лень.

А вот я, допустим, студентик, который на вас смотрит, и с вас, как с авторитетного гуру, пример берёт.
И с деццтва привыкает говнокодить, вместо того, что бы с деццтва привыкать писать красивый, читабельный код, я привыкаю писать 3х-этажную рекурсию без единого комментария, и с односложными именами переменных. И думаю, что так и надо. Что это правильно. Раз так и делают эксперты.

А потом, вот из таких студентиков вырастают специалисты, которым уже не получится никак объяснить, что знание языка не всегда делает код очевидным. Знать язык не всегда достаточно, для того, что бы СРАЗУ понимать что делает код.

То есть, пренебрегая красотой кода в учебных материалах, вы по сути саботируете новобранцев, прививая им вредные привычки.

Добавлено через 8 минут
Цитата Сообщение от Somebody Посмотреть сообщение
Сообщение от Bers
Угадайте, что делает ниже приведенный код?
if( containerPointers.IsEmpty==1) { ... }
Выдаёт ошибку, потому что IsEmpty, скорее всего, функция, и сравнивается она с int'ом. Угадал?
Нет, не угадали

Тут же ничего не написано о том, что произойдёт, если условие окажется истинным))
Просто проверяет, пуст ли контейнер.

Если пуст, что-то делает
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
30.06.2011, 14:10
Цитата Сообщение от Bers Посмотреть сообщение
А вы представьте себе, что вот вы - супер модератор! Эксперт в области с++
И пишите простенькие примерчики для студентов, пренебрегая читабельностью, ибо вам пофиг, и банально лень
Ну это личное дело каждого. Меня, к примеру, не заботит, как будут писать студентики.
Цитата Сообщение от Bers Посмотреть сообщение
А потом, вот из таких студентиков вырастают специалисты, которым уже не получится никак объяснить, что знание языка не всегда делает код очевидным
Получится. Так и становятся специалистами. Все ошибаются и все исправляются.
Цитата Сообщение от Bers Посмотреть сообщение
То есть, пренебрегая красотой кода в учебных материалах, вы по сути саботируете новобранцев, прививая им вредные привычки.
Это проблема новобранцев. Мне не важно, какой код писать на форуме.
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
30.06.2011, 14:27
Bers, прямо аж смешно. Давайте еще раз - вы считаете тот фрагмент кода нечитабельным - приведите аргументы или ссылки, для меня, как и для многих программистом тот код очевиден, и мы не выполняем по 3 преобразования в мозгу.

Вы многократно плохо отзываетесь о рекурсии, вы вообще приемлете её?

Цитата Сообщение от Bers Посмотреть сообщение
if( containerPointers.IsEmpty==1) { ... }
Вот честно, меня напрягло. Опять давайте по порядку.
  1. Код плохо отформатирован. Нет пробела после if, зато есть некошерный пробел после открывающей скобочки
  2. Опять-таки нет пробелов до и после операторов сравнивания
  3. У ваших же авторов можно почитать о вреде "магических чисел", для такого используют константы
  4. Тоже доклеп, но все-таки в разном стиле именуются переменные и поля класса - containerPointers - в стиле Ява, а IsEmpty - в стиле дельфи.
Хотели вы поучить нас, как писать красивый код, да не вышло ничего. Не хочу сказать ничего плохого, все мы хороши, все мы зачастую пишем быдлокод, и так баттхертить на каждый его образец - глупо.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,979
30.06.2011, 14:41
Цитата Сообщение от Bers Посмотреть сообщение
Нет. Вы сейчас не читали код. Вы сейчас рассказывали ИДЕЮ, который этот код ДОЛЖЕН был бы
реализовать. Разницу чувствуете?
Не, я бы сказал - это алгоритм решения, написаный на языке С. Естественно, в рабочей программе такую функцию прям таки необходимо снабжать комментарием. А когда задание перед носом, мне как-то просто лень было.
Что же собственно до витиеватых конструкций в програмном коде... Я вот не профессиональный программист, я админ. И со своей админской колоколенки ситуацию себе так представляю: собственно осмысленно учить язык С я начал с попытки читать исходные коды FreeBSD. Время от времени приходилось вносить в них какие-то исправления, выложенные на сайте производителя. Ну и как-то интересно стало... Так вот. Уж чего-чего, а весьма непростых на первый взгляд и требующих осмысления конструкций там не меряно. За то, когда таки поймёшь, что это автор написал, очень часто заодно понимаешь, что более простой и очевидной конструкции сам бы не придумал... Да и встреченное в другой раз "хитрое" выражение времени на осмысление займёт гораздо меньше. При этом "абсолютно нечитабельный для новичков" код каким-то чудом работает. Мало того - я например не знаю сколь-нибудь здоровой альтернативы серверной ОС (ну разве, что при бюджете, как у пентагона). Да и пишет её явно не один человек. Отсюда сам собой напрашивается вывод - может залог успеха не в том, чтобы все писали код, понятный любому чайнику (со свистком или без), а в том, чтоб вкладывать мозг и душу в то, что делаешь? А если кто-то в команде разработчиков не всегда представляет себе работу операторов языка, а при виде простенькой рекурсии впадает в ступор - может лучше избавиться от него, как от ненужного баласта, пусть пока на курсы походит, книжки почитает?..
Цитата Сообщение от Bers Посмотреть сообщение
И с деццтва привыкает говнокодить
"говнокодить" и писать код правильный, но требующий осмысления - абсолютно разные вещи. Говнокодят как-раз потому, что задумываться не хотят...
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
30.06.2011, 14:52
Цитата Сообщение от Bers Посмотреть сообщение
А теперь представьте себе человека, который в первый раз в жизни видит этот код, и он НЕ ЗНАЕТ заранее, что этот код должен делать
Хороших книг мало. Но они есть. И в таких книгах очень часто приводят негативные примеры с целью показать, как НЕ надо делать, и с пояснениями, почему так НЕ надо делать. Твой пример с комментариями я бы поместил в одну из таких книг. Слово "гавнокод", к сожалению, в книгах нельзя употреблять, но заменить его чем-то литературным, наверное, можно.

Цитата Сообщение от Vourhey Посмотреть сообщение
Все ошибаются и все исправляются
Мой жизненный опыт показывает, что исправляются далеко не все

Цитата Сообщение от easybudda Посмотреть сообщение
Так вот. Уж чего-чего, а весьма непростых на первый взгляд и требующих осмысления конструкций там не меряно. За то, когда таки поймёшь, что это автор написал, очень часто заодно понимаешь, что более простой и очевидной конструкции сам бы не придумал...
По молодости у меня тоже зачастую был такой подход к делам. Вот я, дескать, мудохался, долго втыкал, что же этот код делает, а потому теперь и вы, дорогие товарищи, тоже помудохайтесь, чтобы не считали, что в сказку попали. Да и в словах твоих противоречие. Когда в конструкцию нужно втыкать, то она уже не является простой и очевидной
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
30.06.2011, 14:53
Цитата Сообщение от Evg Посмотреть сообщение
Хороших книг мало. Но они есть. И в таких книгах очень часто приводят негативные примеры с целью показать, как НЕ надо делать, и с пояснениями, почему так НЕ надо делать. Твой пример с комментариями я бы поместил в одну из таких книг. Слово "гавнокод", к сожалению, в книгах нельзя употреблять, но заменить его чем-то литературным, наверное, можно.
зато есть целый портал по говнокоду (так и называется к стати)

Не по теме:

а чо бы не сделать голосовалку по поводе сабжа темы?

0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
30.06.2011, 15:14
Цитата Сообщение от Evg Посмотреть сообщение
Мой жизненный опыт показывает, что исправляются далеко не все
Кто не исправляется, тому не поможет хороший код.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,979
30.06.2011, 16:16
Цитата Сообщение от Evg Посмотреть сообщение
Вот я, дескать, мудохался, долго втыкал, что же этот код делает, а потому теперь и вы, дорогие товарищи, тоже помудохайтесь, чтобы не считали, что в сказку попали.
Ну я всё-таки думаю, что идея не в том, чтобы другие мудохались, а в образе мышления. Люди "на одной волне" и думают зачастую одинаково, хоть и не понятно для окружающих. По этому, чтобы понять смысл написанного, лучше попытаться понять ход мысли автора программы, и вот тогда
Цитата Сообщение от easybudda Посмотреть сообщение
встреченное в другой раз "хитрое" выражение времени на осмысление займёт гораздо меньше
Цитата Сообщение от Evg Посмотреть сообщение
Да и в словах твоих противоречие. Когда в конструкцию нужно втыкать, то она уже не является простой и очевидной
Абсолютно никакого противоречия. Когда смысл известен, всё выглядит и проще и очевиднее.

Цитата Сообщение от Bers Посмотреть сообщение
Начинаю мысленную компиляцию....
+1

А у меня как-то всё описание работы в 4 строчки уместилось...

Цитата Сообщение от Evg Посмотреть сообщение
Хороших книг мало. Но они есть.
Вот например очень хорошая на мой взгляд книжка. Но в ней авторы почему-то не заморачиваются написанием кода, понятного для любого неуча. Практически каждая строчка требует серьёзного осмысления. Так что это по-вашему? Букварь для говнокодера?

Цитата Сообщение от Somebody Посмотреть сообщение
Выдаёт ошибку, потому что IsEmpty, скорее всего, функция, и сравнивается она с int'ом. Угадал?
Была бы она функцией, там бы скобки какие-нибудь стояли. А так разве, что за поле какой-то структуры сойдёт.Да и как бы там ни было
C
1
2
if ( container.empty() )
  ...
читается ни чуть не сложнее...
Да и вообще, программа должна быть прежде всего логичной, вот тогда при желании её понять и знании языка, никаких сложностей не вызовет. Если и есть пример говнокода, так это в посте 29...
Bers, кстати, интересно, как бы Вы сами свою програмку прокомментировали (постаравшись представить, что в первый раз её видите)?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
30.06.2011, 17:04
Цитата Сообщение от easybudda Посмотреть сообщение
Люди "на одной волне" и думают зачастую одинаково, хоть и не понятно для окружающих
Есть простые программы, которые написаны так, что без поллитры не разберёшь. А есть сложные программы, которые понятны содного взгляда и без долгого вникания. Всё зависит от человека: от того, как и сколько он работал в команде, от того, как и сколько ему приходилось мудохаться с чужми программами и от того, осознаёт ли человек, что его программу будут читать другие люди.

Цитата Сообщение от easybudda Посмотреть сообщение
Когда смысл известен, всё выглядит и проще и очевиднее
Естественно. Только при чтении кода задача обратная: есть код, а нужно узнать смысл

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

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

Добавлено через 2 минуты
И вообще можно по русски писать без запятых и точек. И сказать: если знаешь язык - напряги мозги и вникай
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,979
30.06.2011, 17:19
Цитата Сообщение от Evg Посмотреть сообщение
И вообще можно по русски писать без запятых и точек. И сказать: если знаешь язык - напряги мозги и вникай
Минуточку! В любом языке есть правила и нарушать их нельзя. Другое дело, что предложение может быть вроде "Мама мыла раму", а может пару-тройку деепричастных оборотов содержать. Первое поймёт и первоклассник. Для осмысления второго прийдётся напрячь мозг. Даже при соблюдении автором всех правил пунктуации.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
30.06.2011, 17:53
Цитата Сообщение от easybudda Посмотреть сообщение
Для осмысления второго прийдётся напрячь мозг. Даже при соблюдении автором всех правил пунктуации
То же самое и с написанием программ. Можно написать понятно, а можно ровно то же самое написать так, что без поллитры не разобраться
0
Программист
 Аватар для prZzZ
119 / 97 / 11
Регистрация: 22.03.2011
Сообщений: 244
30.06.2011, 18:18
Цитата Сообщение от Evg Посмотреть сообщение
Можно написать понятно, а можно ровно то же самое написать так, что без поллитры не разобраться
А как же МИРОВАЯ классика? Толстой - Война и мир? У него местами одно предложение на полторы страницы плюс половина на французском...

Добавлено через 17 минут
Толстой не писал "Мама мыла раму" в надежде что его труды будут читать какие-нибудь эфиопы (в нашем контексте - чайники). Он писал для русского народа русским языком, используя всю его красоту и многогранность.

Если средства языка позволяют сделать определенное действие красиво и лаконично, то эти средства нужно использовать. (раз пошли по аналогии с русским - вы ведь не пишите каждый раз "и так далее и тому подобное" (чтобы первоклассник понял вас) - вы пишите и т.д. и т.п. - и все вас прекрасно понимают)
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,979
30.06.2011, 18:24
Цитата Сообщение от Evg Посмотреть сообщение
То же самое и с написанием программ.
Абсолютно то же самое. Но вот представьте, что к примеру Лев Толстой свою "Войну и мир" исключительно простыми предложениями написал. По два-три слова, не больше. Вот бы чудо-книга получилась... Одна беда - и так книжка не тонкая, а была бы ещё значительно объёмнее. За то читателю легко.
Программа - по большому счёту мысль автора, нацеленная на решение определённой задачи, описанная на некотором языке программирования. Язык С действительно очень гибкий и красивый язык. Хорошо (не "понятно любому студентику", а продуманно и логично) написанная программа на языке С - это по-настоящему красивая вещь. И всевозможные "хитрые" конструкции, так пугающие новичков, осмысливать совсем не так сложно, было бы желание. А Вы предлагаете на этом мощном и вместе с тем невероятно гибком языке писать те самые "предложения по два-три слова", лишь бы мозг никому не напрягать. Да что же Вы так думать-то не любите?

Добавлено через 51 секунду
Пока писал, опередили... И с тем же примером...
0
Программист
 Аватар для prZzZ
119 / 97 / 11
Регистрация: 22.03.2011
Сообщений: 244
30.06.2011, 18:31
easybudda, Мы с вами
Цитата Сообщение от easybudda Посмотреть сообщение
на одной волне
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,979
30.06.2011, 18:36
Цитата Сообщение от prZzZ Посмотреть сообщение
Если средства языка позволяют сделать определенное действие красиво и лаконично, то эти средства нужно использовать.
ППКС

Цитата Сообщение от prZzZ Посмотреть сообщение
на одной волне
ну да, похоже
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
30.06.2011, 18:37
Цитата Сообщение от easybudda Посмотреть сообщение
И всевозможные "хитрые" конструкции, так пугающие новичков, осмысливать совсем не так сложно
Всевозможные "хитрые" конструкции должны быть выкинуты из кода продукта на помойку. Код-ревьюерам, которые их пропустили - в бубен.
Цитата Сообщение от easybudda Посмотреть сообщение
Но вот представьте, что к примеру Лев Толстой свою "Войну и мир" исключительно простыми предложениями написал.
Ее б, наверное, больше народа прочитало, чем сейчас.
Цитата Сообщение от easybudda Посмотреть сообщение
лишь бы мозг никому не напрягать
Ты пишешь программу для того, чтобы тот, кто потом код читал мозг напрягал? Тогда придумай ему головоломку. Программа должна легко поддерживаться. А для этого код должен читаться, как книга. Чем меньше задумывается тот, кто читает, тем лучше.
0
Программист
 Аватар для prZzZ
119 / 97 / 11
Регистрация: 22.03.2011
Сообщений: 244
30.06.2011, 18:42
Vourhey, БК-шный Бейсик вам в помощь - там всё просто и понятно. А брать вертолет, чтобы гонять до гастронома - по меньшей мере невежество...
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
30.06.2011, 18:46
Цитата Сообщение от prZzZ Посмотреть сообщение
БК-шный Бейсик вам в помощь - там всё просто и понятно.
Если ты, кроме как на бейсике, больше ни на чем читабельный код написать не можешь, то нужно учиться.
Цитата Сообщение от prZzZ Посмотреть сообщение
А брать вертолет, чтобы гонять до гастронома - по меньшей мере невежество...
Собрать инструмент, в работу которого вникать сутки - вот невежество. Если можно написать так, чтобы вникнуть за 2 часа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.06.2011, 18:46
Помогаю со студенческими работами здесь

Unique ptr в классе
Добрый вечер, есть ли реальное решение придерживаться правилу нуля и иметь в классе std::unique_ptr ?

Разница в byte ptr
Подскажите пожаулйста: в чем разница между cmp byte ptr, 0 и cmp ECX, 0 и cmp , 0 Copyre: push offset...

Что такое qword ptr gs
Есть инструкция jmp qword ptr gs: Каким образом мне понять куда она прыгает (конкретный адрес)? Это указатель на что? И что такое gs

Что делает операция PTR
Привет всем! У меня вопрос к опытным программистам в ассемблере х86. Недавно в документации по Турбо Паскалю 6.0 в секции использования...

Что означает конструкция *(*ptr + j)
void board(int Mas) { for(int j=0;j<=99;j++) { cout<<*(*Mas+j)<<" "; } } можете объяснить че из себя...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru