Добавил:
13246980
Оставь надежду всяк сюда поступивший
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Синников С++ / 2 курс / С++ / 1,2г / LabStrings / main
.cpp/*Дана последовательность слов длиной N. Слова состоят из строчных
латинских букв и разделены запятыми. Получить новую
последовательность, состоящую только из слов начинающихся с
гласной буквы. Расставить слова по алфавиту. */
#include <iostream>
#include <string>
#include <fstream>
#include <set>
#include <stdlib.h>
#include <string.h>
using namespace std;
int main()
{
const char separator[]=" ,";
multiset<string> mas;
ifstream in("text1.txt");
ofstream out("text2.txt");
string str;
while(in>>str)
{
char *tmp = new char[100];
strcpy( tmp, str.c_str());
char *sep = strtok(tmp,separator);
while (sep)
{
if(sep[0] =='a' || sep[0] =='e' || sep[0] =='i' || sep[0] =='o' || sep[0] =='u' || sep[0] =='y' )
{
mas.insert(sep);
}
sep=strtok(0,separator);
}
}
std::multiset<string>::iterator it = mas.begin();
out<<*it; it++;
for (it; it != mas.end(); ++it)
{
out<<", "<<*it;
}
return 0;
}