Перейти к публикации
  • Сейчас на странице   Всего пользователей: 2   (0 пользователей, 2 гостя)

Hed-kun

Программирование, т. 5.1.

Рекомендованные сообщения

(изменено)

Слишком быстро, лучше поломать голову 2 часа, через 2 вайла, 1 отслеживаешь буквы, во втором пропускаешь эти буквы + считая количество и запоминая самое коротко

fixed


Изменено пользователем Обязательное_поле

Поделиться сообщением


Ссылка на сообщение

ну вы поняли что я просил умолял етс))


Филька-агресор в скайпе:[10.12.2013 18:55:54] филипп: моя пися ж[10.12.2013 18:55:57] филипп: мои правила

5c8bbc85b99e.gif

Поделиться сообщением


Ссылка на сообщение
(изменено)

Еба, насколько же уродлив С++ :avtorklif:

 

А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.


Изменено пользователем DIMAN123456789

Поделиться сообщением


Ссылка на сообщение

ты такой крутой?

ппз


Филька-агресор в скайпе:[10.12.2013 18:55:54] филипп: моя пися ж[10.12.2013 18:55:57] филипп: мои правила

5c8bbc85b99e.gif

Поделиться сообщением


Ссылка на сообщение

Еба, насколько же уродлив С++ :avtorklif:

 

А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.

Ну в с++ тоже наврено можно, какой-нибудь либой дефолтной


Мобильное приложение для продоты https://play.google....id=ru.prodota.m

Поделиться сообщением


Ссылка на сообщение

придет тинплз и напишет в одну строку даже без шаблонов


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

придет тинплз и напишет в одну строку даже без шаблонов

Поделиться сообщением


Ссылка на сообщение
(изменено)

Еба, насколько же уродлив С++ :avtorklif:

 

А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.

Ну в с++ тоже наврено можно, какой-нибудь либой дефолтной

Какая нахуй либа? Посимвольный проход по строке что ли уже нельзя без либы сделать? Что за стыд. :fffuuu:

Типа такого:

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, но думаю смысл ясен.


Изменено пользователем DIMAN123456789

Поделиться сообщением


Ссылка на сообщение

Еба, насколько же уродлив С++ :avtorklif:

 

А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.

Ну в с++ тоже наврено можно, какой-нибудь либой дефолтной

Какая нахуй либа? Посимвольный проход по строке что ли уже нельзя без либы сделать? Что за стыд. :fffuuu:

Типа такого:

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 с лямбдой на сравнение длин, то и получится минимальный элемент.

 

Не суди о языке по примерам тех, кто его не знает. Да ты и сам нихуя в нем не знаешь. Так и нехуй туда лезть.

Поделиться сообщением


Ссылка на сообщение

Еба, насколько же уродлив С++ :avtorklif:

 

А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.

Ну в с++ тоже наврено можно, какой-нибудь либой дефолтной

Какая нахуй либа? Посимвольный проход по строке что ли уже нельзя без либы сделать? Что за стыд. :fffuuu:

Типа такого:

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 с лямбдой на сравнение длин, то и получится минимальный элемент.

 

Не суди о языке по примерам тех, кто его не знает. Да ты и сам нихуя в нем не знаешь. Так и нехуй туда лезть.

Да я про сам подход. Нахуя сплитить по пробелу, чтобы потом еще бежать по массиву и сравнивать длины строк? Тут блять не в языке дело, а в голове. А про С++ я просто написал что он уродливый, к этой задаче не относится :trollface:

Поделиться сообщением


Ссылка на сообщение
(изменено)

 

 

Еба, насколько же уродлив С++ :avtorklif:

 

А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.

Ну в с++ тоже наврено можно, какой-нибудь либой дефолтной

Какая нахуй либа? Посимвольный проход по строке что ли уже нельзя без либы сделать? Что за стыд. :fffuuu:

Типа такого:

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 с лямбдой на сравнение длин, то и получится минимальный элемент.

 

Не суди о языке по примерам тех, кто его не знает. Да ты и сам нихуя в нем не знаешь. Так и нехуй туда лезть.

Да я про сам подход. Нахуя сплитить по пробелу, чтобы потом еще бежать по массиву и сравнивать длины строк? Тут блять не в языке дело, а в голове. А про С++ я просто написал что он уродливый, к этой задаче не относится :trollface:

 

 

Так не уродливый он. В нем очень даже функциональный синтаксис. Просто некоторые его применяют не к месту, не слышали о форматировании и прочее (ну да, в универах с++ не учат, учат какую-то Си подобную хуйню). В с++ у каждой синтаксической конструкции есть конкретное применение. И кстати, думаю, если в твоем коде заменить 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;
}


Изменено пользователем Tinplz

Поделиться сообщением


Ссылка на сообщение

тинплз можно тебе отослать :trollface:


Филька-агресор в скайпе:[10.12.2013 18:55:54] филипп: моя пися ж[10.12.2013 18:55:57] филипп: мои правила

5c8bbc85b99e.gif

Поделиться сообщением


Ссылка на сообщение

ту братишка


Филька-агресор в скайпе:[10.12.2013 18:55:54] филипп: моя пися ж[10.12.2013 18:55:57] филипп: мои правила

5c8bbc85b99e.gif

Поделиться сообщением


Ссылка на сообщение

istringstream iss(str);

 

cout << *min_element(istream_iterator<string>(iss), istream_iterator<string>(),

[] (const string& left, const string& right){ return left.length() < right.length(); } );

сука вот пришел бы я такой код сдавать, че бы блять было то на паре :pray::lol: :lol: :lol:

Поделиться сообщением


Ссылка на сообщение

всё норм че

 

обычная лямбдочка на с++11


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

Учитывая что мы кодили только на builder, и на турбо си :buba:

Поделиться сообщением


Ссылка на сообщение
Гость akon

 

 

Еба, насколько же уродлив С++ :avtorklif:

 

А вообще не понимаю, зачем бегать по циклам и еще какую-то хуйню выдумывать, можно же за 1 проход пройти и сразу найти самое длинное слово.

Ну в с++ тоже наврено можно, какой-нибудь либой дефолтной

Какая нахуй либа? Посимвольный проход по строке что ли уже нельзя без либы сделать? Что за стыд. :fffuuu:

Типа такого:

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 с лямбдой на сравнение длин, то и получится минимальный элемент.

 

Не суди о языке по примерам тех, кто его не знает. Да ты и сам нихуя в нем не знаешь. Так и нехуй туда лезть.

Да я про сам подход. Нахуя сплитить по пробелу, чтобы потом еще бежать по массиву и сравнивать длины строк? Тут блять не в языке дело, а в голове. А про С++ я просто написал что он уродливый, к этой задаче не относится :trollface:

 

 

Так не уродливый он. В нем очень даже функциональный синтаксис. Просто некоторые его применяют не к месту, не слышали о форматировании и прочее (ну да, в универах с++ не учат, учат какую-то Си подобную хуйню). В с++ у каждой синтаксической конструкции есть конкретное применение. И кстати, думаю, если в твоем коде заменить 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;
}

Поделиться сообщением


Ссылка на сообщение

c++ таки круче жавы

нет.

ну вот смотрю я на код тинтиплз и для меня он не очевидный.

не функциональный если хочешь ;)

вот функция изменяет состояние строки. не очень очевидное поведение для строки в принципе.

в той же джаве есть синтаксис, чтобы указать, что переменная передается по ссылке и будет изменена. ref.

а тут какая-то процедура, которая изменяет состояние строки и явно не указывает на это


Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...