Гость Camus #121 16 июля 2015 На самом деле, javascript потому что java была в то время популярна. А оригинальное назавние - Mocha (так и повелось, хех) а потом livescript. Тупо на популярности сыграли. Синтакс кстати сишный. Поделиться сообщением Ссылка на сообщение
jsfwa #122 16 июля 2015 В JS так вообще бросит эксепшн too much recursion, потому поддержка хвостовой рекурсии неочень.Да вообще странно, когда такие задания на js'e дают. У нас бы сказали на каком-нить haskell'e написать, студентоту развлечь. Все это одно и тоже, и все это программирование.Приходишь такой на интервью или там на конференцию какую и гордо говоришь - Я html-программист! Поделиться сообщением Ссылка на сообщение
Kant #123 16 июля 2015 а у джавы чей синтаксис по-твоему?)) Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Гость Camus #124 16 июля 2015 В JS так вообще бросит эксепшн too much recursion, потому поддержка хвостовой рекурсии неочень.Да вообще странно, когда такие задания на js'e дают. У нас бы сказали на каком-нить haskell'e написать, студентоту развлечь. Все это одно и тоже, и все это программирование.Приходишь такой на интервью или там на конференцию какую и гордо говоришь - Я html-программист!Формочки часть программирования, странно спорить с этим. а у джавы чей синтаксис по-твоему?))))Зачем синтакс с джавы слизывать, если он сишный? Поделиться сообщением Ссылка на сообщение
Tinplz #125 16 июля 2015 а js как работает. типа ты скачиваешь страницу по хттп, она приходит, а дальше что? типа в браузеры уже запилена поддержка ЖС + должна быть установлена джава в этой оси ? и тогда браузер инициализирует работу джава машины, которая выполняет код JS. и потом оно выдает просто статичный хтмл? или нет? что-то среднее (?), все еще содержа динамические элементы? и типа если юзверь по этим элементам кликает то браузер опять отправляет джава машине, опять там считается и выдает новую хтмл (но на той же странице как я понял) ?Нихрена у тебя каша в голове) "Джава машина" - не jvm надеюсь имеешь ввиду. Изралетяни ответят на все твои вопросы.никогда этим дерьмом не интересовался вот и каша. а откуда название? когда начиналось чтоли все таки была доля джавы в этом или как?а до того как в браузере встроеный js был как работало, на чем?название мб потому, что чувак создал жс на коленке, название было думать влом. Синтаксис взял начальный из джавы, а сам язык интерпретируемый. В итоге и вышел джаваскриптБольше схожего ничего нет.В каждом браузере находится свой интерпретатор джаваскрипта. Хтмл страница либо содержит в себе скрипты напрямую, либо указывает, откуда их скачать. И события страницы эти скрипты и вызвают.Дальше только браузер ответственен за то, каким образом текст скрипта превратится в действие. Собственно в этом и есть часть холиваров между движками браузера, кто из них лучше поддерживает все стандарты и при этом быстрее всех исполняет жс. А qt == html это просто Я ж там выше кидал ссылку, почему жс стал называться жс. Сам так и не дочитал, да и не старался запомнить, просто бегло пробежал.вроде из-за того, что разработал был он для нетскейпа, и через пару переименований несткейп начал поддерживать жаву, или отошел к сан системс, или че то такое. вот и переименовали. Там на вики ссылка Поделиться сообщением Ссылка на сообщение
Just.Doit #126 16 июля 2015 В JS так вообще бросит эксепшн too much recursion, потому поддержка хвостовой рекурсии неочень.Да вообще странно, когда такие задания на js'e дают. У нас бы сказали на каком-нить haskell'e написать, студентоту развлечь. Все это одно и тоже, и все это программирование.Приходишь такой на интервью или там на конференцию какую и гордо говоришь - Я html-программист!Формочки часть программирования, странно спорить с этим. а у джавы чей синтаксис по-твоему?))))Зачем синтакс с джавы слизывать, если он сишный?зачем разделять еслди у них один синтаксис очень крутые котейкиКому-то пизды дал - нужно сделать скрин обязательно. (с) Solo Поделиться сообщением Ссылка на сообщение
P0JIT0H #128 16 июля 2015 /* squeeze: удаляет все с из s */ void squeeze(char s[], int с) { int i, j; for (i = j = 0; s[i] != '\0'; i++) if (s[i] != c) s[j++] = s[i];//вылетает на этой строчке s[i] = '\0'; } почему эта функция - взята из книги Кернигана Ритчи - отказывается работать Поделиться сообщением Ссылка на сообщение
jsfwa #129 17 июля 2015 почему эта функция - взята из книги Кернигана Ритчи - отказывается работатьhttp://cpp.sh/4r67 niet Поделиться сообщением Ссылка на сообщение
Kant #130 17 июля 2015 Потому что ты ее неправильно вызываешь. А на том сайте кстати странный баг. Установка '\0' игнорируется и выводит всю покореженную строку, а не только замененную часть Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
TheDeadSkin #131 17 июля 2015 она не игнорируетсятам просто индекс неверныйдолжно бытьs[j] = '\0';а неs = '\0';иначе оно ставит его всегда туда где он уже стоит, а надо в конец новой строки, т.е. j++ после там где последний раз шифтнулась буква Поделиться сообщением Ссылка на сообщение
Tinplz #132 17 июля 2015 вообще, должно бытьvoid squeeze(std::string& s, char c) {s.erase(std::remove(s.begin(),s.end(),c),s.end());} Поделиться сообщением Ссылка на сообщение
P0JIT0H #133 17 июля 2015 она не игнорируетсятам просто индекс неверныйдолжно бытьs[j] = '\0';а неs = '\0';иначе оно ставит его всегда туда где он уже стоит, а надо в конец новой строки, т.е. j++ после там где последний раз шифтнулась букваэто дапочему эта функция - взята из книги Кернигана Ритчи - отказывается работатьhttp://cpp.sh/4r67 nietпочему то же самое но с squeeze("qweerty", 'q'); Отказывается работать, я понимаю что в ориганале это массив char, а я передаю строку, но в чём конкретно ошибка? Поделиться сообщением Ссылка на сообщение
Kant #134 17 июля 2015 она не игнорируетсятам просто индекс неверныйдолжно бытьs[j] = '\0';а неs = '\0';иначе оно ставит его всегда туда где он уже стоит, а надо в конец новой строки, т.е. j++ после там где последний раз шифтнулась букваебать я слепой почему то же самое но с squeeze("qweerty", 'q'); Отказывается работать, я понимаю что в ориганале это массив char, а я передаю строку, но в чём конкретно ошибка?в том что ты возможно неправильно передаешь?код в студию Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Matgen #135 17 июля 2015 В плюсах есть аналог шарповской string.split()? Прост мне надо сепарировать строку с числами и всякой хуетой и числа пушить в вектор. Ну и в векторе веселиться. Еще числа типа 0546 я так понял он читает будто число в 8ричной системе и чо с этим делать? Писать самому перевод в 10ную или есть в stl что- то для этого? Тень огня четвертого поколения Поделиться сообщением Ссылка на сообщение
P0JIT0H #136 17 июля 2015 она не игнорируетсятам просто индекс неверныйдолжно бытьs[j] = '\0';а неs = '\0';иначе оно ставит его всегда туда где он уже стоит, а надо в конец новой строки, т.е. j++ после там где последний раз шифтнулась букваебать я слепой почему то же самое но с squeeze("qweerty", 'q'); Отказывается работать, я понимаю что в ориганале это массив char, а я передаю строку, но в чём конкретно ошибка?в том что ты возможно неправильно передаешь?код в студиюhttp://cpp.sh/3ej74 она не игнорируетсятам просто индекс неверныйдолжно бытьs[j] = '\0';а неs = '\0';иначе оно ставит его всегда туда где он уже стоит, а надо в конец новой строки, т.е. j++ после там где последний раз шифтнулась букваи бтв я же правильно понимаю что при s[j]='\0' память же всё равно останется выделена под ненужные символы, из оригинальной строки идущие после j Поделиться сообщением Ссылка на сообщение
Tinplz #137 17 июля 2015 В плюсах есть аналог шарповской string.split()?Прост мне надо сепарировать строку с числами и всякой хуетой и числа пушить в вектор. Ну и в векторе веселиться. Еще числа типа 0546 я так понял он читает будто число в 8ричной системе и чо с этим делать? Писать самому перевод в 10ную или есть в stl что- то для этого?конкретно аналога сплита нету, но вообще чем он тебе для этой задачи поможет то? В гугле первая ссылка на СО кидает с кодом.Написать функцию для твоей задачи самому - 10 строк где-то. vector<vector> outputvectorsfor ( it ... ; it < strsize ; ++it)if (std::isdigit(str[it]){auto startit = it;while ( it < strsize && std::isdigit(str[it]) ) ++it;vector<char> chars_of_value(str.begin() + startit, std.begin() + it);output_vectors.emplace_back(chars_of_value);} return output_vectors; конвертация систем исчисления... вроде на самая тяжелая вещь, написать ее совсем изи можно. Что-то похожее уже готовое пользовал, только не вспомню из стл или буста или обычного С. Не та вещь которую юзаешь каждый день. Поделиться сообщением Ссылка на сообщение
Matgen #138 17 июля 2015 (изменено) Да понятное дело это изи делается, цикл до конца строки, статиккаст то что между сепараторами и пушить в интовый вектор. Да и перевод изи делается. Просто у меня задача не из обретать велик на плюсах, а научиться писать на 11ых и осваивать стл. СпасибоХотя интересно во что статиккаст переведет, в инты или в интовый эквивалент в таблице 8битной (не помню название) Изменено 17 июля 2015 пользователем Matgen Тень огня четвертого поколения Поделиться сообщением Ссылка на сообщение
Kant #139 17 июля 2015 http://cpp.sh/3ej74 и бтв я же правильно понимаю что при s[j]='\0' память же всё равно останется выделена под ненужные символы, из оригинальной строки идущие после j так а зачем ты заново константу передаешь в метод, после того, как уже инициализировал ей же массив?http://cpp.sh/8cdcтот сайт вообще борзый и даже код с просто варнингами не дает исполнять. да, правильно понимаешь, память никто не чистит. Просто функции вывода смотрят на \0 и дальше ничего не выводят.Если хочешь и обрезать лишнее в памяти, можешь сделать что-то типа char* newStr = strdup(str);free(str); Он должен сделать копию старой строку только по \0 и следовательно не копировать всё лишнее Но тебе это не надо как минимум потому, что ты вообще не выделяешь память на куче. Освобождать то и нечего. Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Tinplz #140 17 июля 2015 (изменено) Да понятное дело это изи делается, цикл до конца строки, статиккаст то что между сепараторами и пушить в интовый вектор. Да и перевод изи делается. Просто у меня задача не из обретать велик на плюсах, а научиться писать на 11ых и осваивать стл. Спасибону тогда скачай последний стандарт и смотри секции algorithm / numeric / string.если где и есть - то там.но в 11 плюсах конкретно сплита не было, может в 14 появился. потому что его можно реализовывать несколькими методами, и в целом создатели плюсов не хотят добавлять функции которые возвращают контейнеры контейнеров. или контейнер чего-либо вообще, например пар итераторов. А тут по-другому никак.если только юзать string::find_first_of( "0123456789", .. ) для нахождения первого численного, сохраняя конечную позицию каждый раз и передавая в качестве аргумента Изменено 17 июля 2015 пользователем Tinplz Поделиться сообщением Ссылка на сообщение