- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
#include <string>
using namespace std;
int main();
void pushvalues(const string&, const string&, string&);
int main {
string lol1;
//OUTPUT
if (!(lol1))
return 1;
string lol2;
string *word1, *word2 = new string;
for (int i = 0; i != '101'; ++i) {
//Насколько я помню pop_back и pop_front возвращает удаленное значение, в противном случае сам допиши
word1.push_back(lol1.pop_front); // 123456 <- 7 <- 89 :)
if (word1[i-1] == ' ') {
word1.pop_back;
i = 101;
}
}
for (int i = 0; i != '101'; ++i) {
word2.push_back(lol1.pop_front);
if (word2[i-1] == ' ') {
word2.pop_back;
i = 101;
}
}
pushvalues(&word1, &word2, &lol2); // (word2 word1) (word3 word4 word5)
while (lol1) // word1 <-> word3 | while anything in lol1 (1. Recognise word3 2. wrap with word1 3. ??? 4. PROFIT!)
{
for (int i = 0; i != '101'; ++i) {
word2.push_back(lol1.pop_front);
if (word2[i-1] == ' ') { // WORD3 RECOGNISED FUCK YEAH ;[
word2.pop_back;
i = 101;
}
}
pushvalues(&word1, &word2, &lol2);
}
delete word1, word2;
//OUTPUT
return 0; }
/*void change(string& word1, string& word2) {
string temp;
temp = word1;
word1 = word2;
word2 = temp;
return; }*/
void pushvalues(const string& word1, const string& word2, string& container) {
container.push_back(word2);
container.push_back(' ');
container.push_back(word1);
return; }
ReckO 12.01.2012 13:34 # −1
Добротно наговнокодил
Lure Of Chaos 12.01.2012 13:35 # 0
defecate-plusplus 12.01.2012 13:51 # 0
ReckO 12.01.2012 14:37 # 0
TheHamstertamer 12.01.2012 14:45 # +8
ReckO 12.01.2012 14:50 # 0
ctm 12.01.2012 14:52 # +4
плюсую, если код понравился или можно чему-то научиться посмотрев этот код.
guest 13.01.2012 10:30 # −1
ReckO 13.01.2012 12:07 # 0
ReckO 13.01.2012 12:07 # 0
kyzi007 13.01.2012 12:20 # 0
ReckO 13.01.2012 12:27 # 0
defecate-plusplus 13.01.2012 12:34 # 0
никому даже не интересен алгоритм в этой куче говна, потому что оно изложено стилистически именно как говно
уверен, ты бы мог взять любой другой более известный тебе язык и получилось бы то же самое, будь честен с собой, два месяца не два месяца
ReckO 13.01.2012 12:44 # 0
Что касается алгоритма, я даже над ним не думал, просто начал писать.
И в комбинации получил говнокод с ужасным алгоритмом, который помимо всего еще и не компилируется
Обычно я обдумываю то что я пишу )
Этот код должен менять каждые два слова местами в string.
defecate-plusplus 13.01.2012 13:01 # −2
цикл
запомнил текущий итератор/позицию - начало 1 слова
std::find() или str.find_first_of() ищет очередной пробел, запоминаешь найденное слово в tmp,
запоминаешь начало 2 слова в еще одну переменную
затем ищешь дальше еще один пробел,
копируешь 2 слово по позиции начального итератора, пробел, вставляешь слово из tmp
следующая итерация
выход из цикла при достижении end при поиске конца 1 или 2 слова
105_306330_ru 24.08.2021 20:37 # 0