char s[]="as for whether when";Как отсортировать? Язык С++.
бамп
а в чем проблема загуглить алгоритмы сортировки?
касти в инт, получишь на выходе номер аски, сортируешь по возрастанию
>>140365038там мусор
>>140364934 (OP)Зачем тебе это?
>>140365101выкатывай код
>>140365101Да можно чары сравнивать тоже изи. Там коды в алфавитном порядке идут.
>>140365160лаба 7 по оаип
разве функция std::sort не сортирует строку?
>>140364934 (OP)>Как отсортировать?Merge sort.
>>140365205Это уровень семиклассника. Как тебе отсортировать надо? Чтобы слова или все символы в алфавитном порядке шли?
STL можно использовать?std::sort(s, s + количество_символов);
>>140364934 (OP)Понятия не имею. Я же всего лишь кот.
>>140365478слова
>>140365659Тебе лень даже в вики заглянуть, пидор?!
создавай вектор со словами и сортируй его сортом
>>140364934 (OP)char[] Sort_As_For_Whether_When(){ return " aeeefhhhnorrstww";}Не благодари. Быстрее хуй напишешь.
>>140366233от души, что бы оп-хуй без тебя делал
>>140367010Меня похожим образом на собеседовании один раз подъебали. Я выдумывал какой-то быстрый алгоритм, а правильный ответ был "посчитать заранее и сохранить". Так что если строка указана явно, вполне имеешь право.
>>140367505>>140365535не отсортировало, when и whether должны были поменяться местами.
>>140367505строку я получил
>>140364934 (OP)stackoverflow в другой вкладке.
#include <stdio.h>#include <string.h>#include <stdbool.h>char sort(char s){ int l = strlen(s); bool swap = true; while(swap) { swap = false; for(int x = 0;x<l-1;x++) { if((int)s[x]>(int)s[x+1]) { s[x] ^= s[x+1]; s[x+1] ^= s[x]; s[x] ^= s[x+1]; swap = true; } } if(!swap) { break; } } return s;}int main(void) { char s[]="asforwhetherwhen"; puts(sort(s)); return 0;}
>>140368439>s[x] ^= s[x+1];>s[x+1] ^= s[x];>s[x] ^= s[x+1];В курсе что использование временной переменной работает в разы быстрее твоего высера с XORами?
>>140370590у него сортировка квадратная, а ты к ксору прикопался.
>>140370590>использование временной переменной работает в разы быстрее твоего высера с XORамиДаже объяснять не буду почему ты тупой хуесос, поэтому просто иди нахуй, щенок.
Короче ОП, 1. разбиваешь это говно на токены.2. Пихаешь их в std::string и потом в std::vector3. Сортируешь этот массив токенов обычным std::sort4. PROFIT????
>>140370792Садись два, студент ебаный.
Короче ща напишу ОП.
Шел 2к16-й год. Плюсобляди сортировали строку.
>>140371548а в плюсах есть класс строки? успех.
Хотел начать писать хеллоуворлды для андроида. Полдня провел разбираясь в этом дерьме. Злой и с горящей жёппой. Шиндовс и эти канпиляторы выдают кучу блядских милипиздрических ошибок, хуй пойми как их исправлять, каждый раз в гугол идти что ли - но это ебануться можно. То 8 jdk криво встает, то блядский android studio что-то требует, то сука открывает старые проекты, когда создаю новые, то eclipse не видит версии явы. HAXM какой-то еще, эмулятор не запускается. Libgdx нахуя-то еще нужен. Ебануться бля. Блядь да даже в Ссср столько аббревиатур не было, как тут. Ухххх блядь у меня полыхает. Знать все эти компуктерные мелочи, которых, как я понял, просто ооооооовердохуя, и разбираться от и до - кажется просто нереальным. В рот ебал это ваше погромирование. В пизду эти компуктеры. Сношу все нахуй. Зря время и нервы потратил. Очередная попытка найти хобби провалилась в пиздень.
>>140371744>jdk8 криво встаетлол
>>140371833там в первый раз вместо jdk была jre. И нихуя не работало. Снес все и поставил версию 7. Тогда перестал открыватьс андроид студио, грит мол ТРЕБУЮ ВЕРСИЮ 8 ЕБАТЬ. Ну хули удалил все заново и поставил 8, заработало как-то. Потом в андроид студио хуй разберешься, и эмулятор он мне не дает ТОМУ ЧТОПРОЦЕССОР АНАЛЬНЫЕ ЩИКАТАНИЯ НЕ ПОДДЕРЖИВАЕТ. Эклипс тупит зависает и размазывает поля ввода вывода. ХУйня короче все, удаляю. У меня нервов не хватит на эту еблю себя в жопу.
>>140364934 (OP)>as for whether whenhttp://ideone.com/wfVAbyМожет как-то и без буста можно.
>>140364934 (OP)>>140370906>>140371485http://pastebin.com/7YXnPWCA// Example program#include <iostream>#include <string>#include <sstream>#include <vector>#include <algorithm>#include <cstring>// works only with null-terminated and single-space separated strings inline std::vector<std::string> split(const char str){ const char ts = str; std::vector<std::string> v; for(const char it = str;;++it) { char ch = it; if(isspace(ch) || ch == '\0') { v.emplace_back(std::string(ts, it)); ts = it+1; if(ch == '\0') break; } } return v;}inline void printv(const std::vector<std::string>& v){ for(auto t : v) { std::cout<<"token ["<<t<<"]"<<std::endl; }}inline void sprintv(const std::vector<std::string>& v, char* buf, size_t size){ if(v.size() == 0) return; std::stringstream ss; ss.rdbuf()->pubsetbuf(buf, size); ss<<v[0]; for(size_t i = 1; i < v.size(); ++i) { ss<<" "<<v; } ss.flush();}int main(){ char s[]="as for whether when"; std::cout<<"=== initial null-terminated string ==="<<std::endl; std::cout<<s<<std::endl; // split it to tokens auto words = split(s); std::cout<<"=== input sequence ==="<<std::endl; // debug output printv(words); // std::string default comparator uses lexicographical compare std::sort(words.begin(), words.end()); std::cout<<"=== output sequence ==="<<std::endl; // check the result printv(words); sprintv(words, s, std::strlen(s)); std::cout<<"=== resulting null-terminated string === "<<std::endl; std::cout<<s<<std::endl; return 0;}
>>140371744eclipse для жабки... 2k16...
>>140366233в голос
>>140372594а в чем проблема, отлично отсортировал.
test
>>140372646Да ни в чём тащемта) Только ОП-у надо на лабу а не на собеседование (куда его вряд ли такими темпами хоть кто позовёт)
>>140371548Т.е. если у тебя стоит задача отсортировать строку, ты говоришь "я не плюсоблядь, чтобы строки сортировать, идите нахуй", я правильно понял?
>>140373707часто строку сортируешь?
>>140373843Ты не маневрируй, ты на вопрос ответь.
>>140374327в ситуации, которая никогда не происходит, я могу хоть диск форматировать.
>>140374364Ясно.