Обязательное_поле #2661 12 декабря 2013 (изменено) Слишком быстро, лучше поломать голову 2 часа, через 2 вайла, 1 отслеживаешь буквы, во втором пропускаешь эти буквы + считая количество и запоминая самое короткоfixed Изменено 12 декабря 2013 пользователем Обязательное_поле Поделиться сообщением Ссылка на сообщение
pasha_invoker #2662 12 декабря 2013 ну вы поняли что я просил умолял етс)) Филька-агресор в скайпе:[10.12.2013 18:55:54] филипп: моя пися ж[10.12.2013 18:55:57] филипп: мои правила Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #2663 12 декабря 2013 (изменено) Еба, насколько же уродлив С++ А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово. Изменено 12 декабря 2013 пользователем DIMAN123456789 Поделиться сообщением Ссылка на сообщение
pasha_invoker #2664 12 декабря 2013 ты такой крутой?ппз Филька-агресор в скайпе:[10.12.2013 18:55:54] филипп: моя пися ж[10.12.2013 18:55:57] филипп: мои правила Поделиться сообщением Ссылка на сообщение
Двапой #2665 12 декабря 2013 Еба, насколько же уродлив С++ А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.Ну в с++ тоже наврено можно, какой-нибудь либой дефолтной Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
Kant #2666 12 декабря 2013 придет тинплз и напишет в одну строку даже без шаблонов Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
TheDeadSkin #2667 12 декабря 2013 придет тинплз и напишет в одну строку даже без шаблонов Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #2668 12 декабря 2013 (изменено) Еба, насколько же уродлив С++ А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.Ну в с++ тоже наврено можно, какой-нибудь либой дефолтнойКакая нахуй либа? Посимвольный проход по строке что ли уже нельзя без либы сделать? Что за стыд. Типа такого: public static String findWord(String input, char delimiter){ String currentWord = "", resultWord = currentWord; for(int character : input.getBytes()){ char c = (char)character; if(c == delimiter){ if(resultWord.length() == 0 || currentWord.length() < resultWord.length()) resultWord = currentWord; currentWord = ""; continue; } currentWord += c; } return currentWord.length() < resultWord.length() ? currentWord : resultWord.length() == 0 ? currentWord : resultWord; } Хоть и на java, но думаю смысл ясен. Изменено 12 декабря 2013 пользователем DIMAN123456789 Поделиться сообщением Ссылка на сообщение
Tinplz #2669 12 декабря 2013 Еба, насколько же уродлив С++ А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.Ну в с++ тоже наврено можно, какой-нибудь либой дефолтнойКакая нахуй либа? Посимвольный проход по строке что ли уже нельзя без либы сделать? Что за стыд. Типа такого: public static String findWord(String input, char delimiter){ String currentWord = "", resultWord = currentWord; for(int character : input.getBytes()){ char c = (char)character; if(c == delimiter){ if(resultWord.length() == 0 || currentWord.length() < resultWord.length()) resultWord = currentWord; currentWord = ""; continue; } currentWord += c; } return currentWord.length() < resultWord.length() ? currentWord : resultWord.length() == 0 ? currentWord : resultWord; } Хоть и на java, но думаю смысл ясен.можно сделать. И не только посимвольным проходом. и ranged for конструкции в с++ тоже есть.string str;for (auto chr : str) ....Кроме этого можно сделать стандартную std::copy из std::istringstream(str), что распарсит стринг по пробелам. И если применить std::min_element с лямбдой на сравнение длин, то и получится минимальный элемент. Не суди о языке по примерам тех, кто его не знает. Да ты и сам нихуя в нем не знаешь. Так и нехуй туда лезть. Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #2670 12 декабря 2013 Еба, насколько же уродлив С++ А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.Ну в с++ тоже наврено можно, какой-нибудь либой дефолтнойКакая нахуй либа? Посимвольный проход по строке что ли уже нельзя без либы сделать? Что за стыд. Типа такого: public static String findWord(String input, char delimiter){ String currentWord = "", resultWord = currentWord; for(int character : input.getBytes()){ char c = (char)character; if(c == delimiter){ if(resultWord.length() == 0 || currentWord.length() < resultWord.length()) resultWord = currentWord; currentWord = ""; continue; } currentWord += c; } return currentWord.length() < resultWord.length() ? currentWord : resultWord.length() == 0 ? currentWord : resultWord; } Хоть и на java, но думаю смысл ясен.можно сделать. И не только посимвольным проходом. и ranged for конструкции в с++ тоже есть.string str;for (auto chr : str) ....Кроме этого можно сделать стандартную std::copy из std::istringstream(str), что распарсит стринг по пробелам. И если применить std::min_element с лямбдой на сравнение длин, то и получится минимальный элемент. Не суди о языке по примерам тех, кто его не знает. Да ты и сам нихуя в нем не знаешь. Так и нехуй туда лезть.Да я про сам подход. Нахуя сплитить по пробелу, чтобы потом еще бежать по массиву и сравнивать длины строк? Тут блять не в языке дело, а в голове. А про С++ я просто написал что он уродливый, к этой задаче не относится Поделиться сообщением Ссылка на сообщение
Tinplz #2671 12 декабря 2013 (изменено) Еба, насколько же уродлив С++ А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.Ну в с++ тоже наврено можно, какой-нибудь либой дефолтнойКакая нахуй либа? Посимвольный проход по строке что ли уже нельзя без либы сделать? Что за стыд. Типа такого: public static String findWord(String input, char delimiter){ String currentWord = "", resultWord = currentWord; for(int character : input.getBytes()){ char c = (char)character; if(c == delimiter){ if(resultWord.length() == 0 || currentWord.length() < resultWord.length()) resultWord = currentWord; currentWord = ""; continue; } currentWord += c; } return currentWord.length() < resultWord.length() ? currentWord : resultWord.length() == 0 ? currentWord : resultWord; } Хоть и на java, но думаю смысл ясен.можно сделать. И не только посимвольным проходом. и ranged for конструкции в с++ тоже есть.string str;for (auto chr : str) ....Кроме этого можно сделать стандартную std::copy из std::istringstream(str), что распарсит стринг по пробелам. И если применить std::min_element с лямбдой на сравнение длин, то и получится минимальный элемент. Не суди о языке по примерам тех, кто его не знает. Да ты и сам нихуя в нем не знаешь. Так и нехуй туда лезть.Да я про сам подход. Нахуя сплитить по пробелу, чтобы потом еще бежать по массиву и сравнивать длины строк? Тут блять не в языке дело, а в голове. А про С++ я просто написал что он уродливый, к этой задаче не относится Так не уродливый он. В нем очень даже функциональный синтаксис. Просто некоторые его применяют не к месту, не слышали о форматировании и прочее (ну да, в универах с++ не учат, учат какую-то Си подобную хуйню). В с++ у каждой синтаксической конструкции есть конкретное применение. И кстати, думаю, если в твоем коде заменить String на string, убрать статик, и метод getBytes. то он сработает на с++. Ну или еще пару минимальных изменений. придет тинплз и напишет в одну строку даже без шаблонов #include <iostream> #include <string> #include <sstream> #include <vector> #include <algorithm> #include <iterator> using namespace std; int main() { string str = "asdfasd ff sdsadassd qewr1 34324"; vector<string> parsed; istringstream iss(str); copy(istream_iterator<string>(iss), istream_iterator<string>(), back_inserter< vector<string> >(parsed)); cout << *min_element(parsed.begin(), parsed.end(), [] (const string& left, const string& right){ return left.length() < right.length(); } ); return 0; } Хотя нет, можно, пожалуй, даже проще, без темпорари #include <iostream> #include <string> #include <sstream> #include <vector> #include <algorithm> #include <iterator> using namespace std; int main() { string str = "asdfasd ff sdsadassd qewr1 34324"; istringstream iss(str); cout << *min_element(istream_iterator<string>(iss), istream_iterator<string>(), [] (const string& left, const string& right){ return left.length() < right.length(); } ); return 0; } Изменено 12 декабря 2013 пользователем Tinplz Поделиться сообщением Ссылка на сообщение
Обязательное_поле #2672 12 декабря 2013 c++ таки круче жавы Поделиться сообщением Ссылка на сообщение
pasha_invoker #2673 12 декабря 2013 тинплз можно тебе отослать Филька-агресор в скайпе:[10.12.2013 18:55:54] филипп: моя пися ж[10.12.2013 18:55:57] филипп: мои правила Поделиться сообщением Ссылка на сообщение
Tinplz #2674 12 декабря 2013 тинплз можно тебе отослать Ну, тебя предупредили насчет армии... Ах да, если нету нормального компилятора, то http://www.compileonline.com/compile_cpp11_online.php сойдет. Поделиться сообщением Ссылка на сообщение
pasha_invoker #2675 12 декабря 2013 ту братишка Филька-агресор в скайпе:[10.12.2013 18:55:54] филипп: моя пися ж[10.12.2013 18:55:57] филипп: мои правила Поделиться сообщением Ссылка на сообщение
justice_st #2676 12 декабря 2013 istringstream iss(str); cout << *min_element(istream_iterator<string>(iss), istream_iterator<string>(), [] (const string& left, const string& right){ return left.length() < right.length(); } ); сука вот пришел бы я такой код сдавать, че бы блять было то на паре :lol: Поделиться сообщением Ссылка на сообщение
Kant #2677 12 декабря 2013 всё норм че обычная лямбдочка на с++11 Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
justice_st #2678 12 декабря 2013 Учитывая что мы кодили только на builder, и на турбо си Поделиться сообщением Ссылка на сообщение
Гость akon #2679 12 декабря 2013 Еба, насколько же уродлив С++ А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.Ну в с++ тоже наврено можно, какой-нибудь либой дефолтнойКакая нахуй либа? Посимвольный проход по строке что ли уже нельзя без либы сделать? Что за стыд. Типа такого: public static String findWord(String input, char delimiter){ String currentWord = "", resultWord = currentWord; for(int character : input.getBytes()){ char c = (char)character; if(c == delimiter){ if(resultWord.length() == 0 || currentWord.length() < resultWord.length()) resultWord = currentWord; currentWord = ""; continue; } currentWord += c; } return currentWord.length() < resultWord.length() ? currentWord : resultWord.length() == 0 ? currentWord : resultWord; } Хоть и на java, но думаю смысл ясен.можно сделать. И не только посимвольным проходом. и ranged for конструкции в с++ тоже есть.string str;for (auto chr : str) ....Кроме этого можно сделать стандартную std::copy из std::istringstream(str), что распарсит стринг по пробелам. И если применить std::min_element с лямбдой на сравнение длин, то и получится минимальный элемент. Не суди о языке по примерам тех, кто его не знает. Да ты и сам нихуя в нем не знаешь. Так и нехуй туда лезть.Да я про сам подход. Нахуя сплитить по пробелу, чтобы потом еще бежать по массиву и сравнивать длины строк? Тут блять не в языке дело, а в голове. А про С++ я просто написал что он уродливый, к этой задаче не относится Так не уродливый он. В нем очень даже функциональный синтаксис. Просто некоторые его применяют не к месту, не слышали о форматировании и прочее (ну да, в универах с++ не учат, учат какую-то Си подобную хуйню). В с++ у каждой синтаксической конструкции есть конкретное применение. И кстати, думаю, если в твоем коде заменить String на string, убрать статик, и метод getBytes. то он сработает на с++. Ну или еще пару минимальных изменений. придет тинплз и напишет в одну строку даже без шаблонов #include <iostream> #include <string> #include <sstream> #include <vector> #include <algorithm> #include <iterator> using namespace std; int main() { string str = "asdfasd ff sdsadassd qewr1 34324"; vector<string> parsed; istringstream iss(str); copy(istream_iterator<string>(iss), istream_iterator<string>(), back_inserter< vector<string> >(parsed)); cout << *min_element(parsed.begin(), parsed.end(), [] (const string& left, const string& right){ return left.length() < right.length(); } ); return 0; } Хотя нет, можно, пожалуй, даже проще, без темпорари #include <iostream> #include <string> #include <sstream> #include <vector> #include <algorithm> #include <iterator> using namespace std; int main() { string str = "asdfasd ff sdsadassd qewr1 34324"; istringstream iss(str); cout << *min_element(istream_iterator<string>(iss), istream_iterator<string>(), [] (const string& left, const string& right){ return left.length() < right.length(); } ); return 0; } Поделиться сообщением Ссылка на сообщение
rubish #2680 12 декабря 2013 c++ таки круче жавынет.ну вот смотрю я на код тинтиплз и для меня он не очевидный. не функциональный если хочешь ;)вот функция изменяет состояние строки. не очень очевидное поведение для строки в принципе.в той же джаве есть синтаксис, чтобы указать, что переменная передается по ссылке и будет изменена. ref.а тут какая-то процедура, которая изменяет состояние строки и явно не указывает на это Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение