1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Доброго времени суток, есть такой вопрос: сделал задачу, в условии было сказано "слова разделены пробелами и запятыми", для первой и третьей процедуры сделал класс делимремувер, т.к. текст вводится через гетлайн, для второй(сортировка строки по возрастанию длины слов) использовал while и вектор для сортировки, можете исправить так, чтобы во второй задаче сортировка игнорировала запятую и читала "чистое" слово?
void e() { DelimRemover dr(","); string s; int k=0; cout << "Vvedite stroku: "; cin.ignore(); getline(cin, s); cout<<endl<<dr(s)<<endl; istringstream ist(s); ostringstream ost; while ( ist >> s ) if ( s.find('t') == string::npos ) { ost << s << ' '; k++; } if (k!=0) cout << endl << "New string: " << ost.str() << endl << endl; else cout<<endl<<"V stroke ne ostalos' slov!"<<endl<<endl; }
int main() { int b; while (true) { cout<<"Vyberite zadanie: "<<endl<<"1 - Koli4estvo slov, zakan4ivayuschihsya na glasnyu bukvu. \n2 - Sortirovat stroku po vozrastaniyu. \n3 - Isklyuchit iz stroki slova< soderzhaswie bukvu t, ostavshiisya tekst vyvesti na ekran. \n0 - Exit."<<endl; cin>>b; switch (b) { case 1:{q(); break;} case 2:{w(); break;} case 3:{e(); break;} case 0:{return 0;} default: cout<<"Vy vveli nevernye dannye!"; } } getch(); return 0; }
Добавлено через 4 мин. так же появился вопрос про строки на чистом Си: мне нужно описать функцию replace(s,s1,s2), проще говоря контекстная замена текста, так вот, набросал код, но у меня что-то не очень хорошо меняет лдя случая когда искомая часть текста=заменяемой (берет непонятные значения из памяти), и вообще зацикливается, когда искомая больше-меньше заменяемой.
в условии было сказано "слова разделены пробелами и запятыми"
"Пробелами и запятыми", или "пробелами или запятыми"? То есть, там, где есть запятая, ОБЯЗАТЕЛЬНО есть пробел, или может быть, а может - нет?
Если первое - то читай, как читаешь, но перед занесением в вектор удаляй запятую из строки. Если второе - то выбора у тебя нет, кроме как читать через getline всю строку, и потом ее разбирать на слова.