,   CyberForum.ru

- C++

 
Nikolaj50
0 / 0 / 0
: 04.08.2012
: 5
08.08.2012, 14:14     #1
, , .
Similar
41792 / 34177 / 6122
: 12.04.2006
: 57,940
08.08.2012, 14:14    
:

C++
C++ .
C++
C++
C++
.
-==-
FAQ
08.08.2012, 15:09     #2
Nikolaj50, /++, ?
Nikolaj50
0 / 0 / 0
: 04.08.2012
: 5
08.08.2012, 15:11  []     #3
-==-
/++, ?
1. C++
2.,
-==-
FAQ
08.08.2012, 15:29     #4

C++
1
2
3
4
5
6
7
8
9
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
#include <string>
#include <sstream>
#include <iostream>
using namespace std;
 
//Ôó*êöèÿ âåð*¸ò ÈÑÒÈÍÓ åñëè â
//ñëîâå word ãë*ñ*ûõ áîëüøå ÷åì ñîãë*ñ*ûõ
bool isVowelsMore(string word);
 
int main()
{
    string word;//áóäåò ñîäåð*æòü ñëîâî èç òåêñò*
    string text;//áóäåò ñîäåð*æòü ââîäèìûé òåêñò
    cout<<"Enter text : ";
    //getline(cin,text);//Ð*ñêîìå*òèðîâ*òü äëÿ ðó÷*îãî ââîä*
    
    //2 ñòðîêè *èæå èçúÿòü åñëè õîòèì ââîäèòü ðóê*ìè
    text = "this is the teeeest ooof program";
    cout<<text<<endl;
    stringstream ss(text);//È*èöè*ëèçèðóåì ñòðîêîâûé ïîòîê
    //èç *åãî ìîæ*î áóäåò ÷åðï*òü ñëîâ* ê*ê èç ifstream
    text = "";//Î÷èù*åì ñòðîêó ñ òåêñòîì
    while(ss>>word)
    {
        //ò.å. äåë*åì òåêñò òîëüêî èç ñëîâ
        //â êîòîðûõ ñîãë*ñ*ûõ áîëüøå ÷åì ãë*ñ*ûõ
        if(!isVowelsMore(word))
            text += word + " ";
    }
    //Ñ*îâ* ïå÷*ò*åì òåêñò *î óæå áåç ñëîâ ñ ïðåîáë*ä**èåì ãë*ñ*ûõ
    cout<<text<<endl;
    return 0;
}
 
bool isVowelsMore(string word)
{
    int nVowels = 0;//Áóäåò ñîäåðæ*òü ÷èñëî ãë*ñ*ûõ â ñëîâå word
    string vowels = "aouyei";
    for(int i = 0; i < word.length(); i++)
    {
        //Óñëîâèå ò*êîå - åñëè word[i] â *èæ*åì ðåãèñòðå
        //(Ò.å. åñëè áûëî Î òî ïîñëå tolower ñò**åò î)
        //ñîäåðæèòñÿ â ñòðîêå âñåõ ãë*ñ*ûõ ë*òè*èöû
        if(vowels.find(tolower(word[i]),0) != string::npos)
            nVowels = nVowels + 1;
    }
    //Âîçâð*ù*åì ðåçóëüò*ò ëîãè÷åñêîãî ñð*â*å*èÿ
    //äëè**_ñëîâ* - ÷èëî_ãë*ñ*ûõ == ÷èñëî_ñîãë*ñ*ûõ < ÷èëî_ãë*ñ*ûõ)
    return (word.length() - nVowels < nVowels);
}
http://liveworkspace.org/code/335f2d...25e092c4a35ebd
    
Nikolaj50
0 / 0 / 0
: 04.08.2012
: 5
08.08.2012, 15:33  []     #5
-==-, !
-==-
08.08.2012, 15:34
  #6

:

Nikolaj50,

-==-
//getline(cin,text);
- Enter 2 ( ), 9-, 10-

ForEveR
C++
   ForEveR
7927 / 4709 / 318
: 24.06.2010
: 10,524
: 3
08.08.2012, 16:08     #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
#include <string>
#include <cctype>
 
#include <boost/algorithm/string.hpp>
 
int main()
{
   const std::string vowels = "aeiouy";
   std::string s = "hello and what do you want doing now halt this aab";
   std::vector<std::string> words;
   boost::split(words, s, boost::is_any_of(" "), boost::token_compress_on);
   words.erase(std::remove_if(words.begin(), words.end(), [vowels](const std::string& curr)
   {
      return curr.length() - std::count_if(curr.begin(), curr.end(), [vowels](const char c)
      {
         return vowels.find(tolower(c)) != std::string::npos;
      }) > curr.length() / 2;
   }), words.end());
   for (const auto& word : words)
   {
      std::cout << word << " ";
   }
   std::cout << std::endl;
}
http://liveworkspace.org/code/dd2902...c704cc87e0fe85
MoreAnswers
37091 / 29110 / 5898
: 17.06.2006
: 43,301
08.08.2012, 18:10    
:

++ C++
C++
C++



:
zitxbit
Master C/C++
   zitxbit
86 / 738 / 75
: 11.04.2012
: 971
08.08.2012, 18:10     #8
C++
1
2
3
4
5
6
7
8
9
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
int main()
{
    static char str[256] = "apple fruit orange fast green tree walk nock";
 
    printf("string = %s\n",str);
 
    int i = 0;
    while (str[i] != '\0')
    {
        if (isspace(str[i]) || i == strlen(str)-1)
        {
            char pchars[] = "aeiuyo"; int vowels = 0;
            int k = (i != strlen(str)-1) ? i-1 : i;
            for (; !isspace(str[k]) && k >= 0; k--)
                if (strchr(pchars,str[k])) vowels++;
 
            int wlen = k < 0 ? i : i - k - 1;
                wlen = (i == strlen(str)-1) ? wlen+1 : wlen;
            if (wlen - vowels > vowels)
            {
                if (i == strlen(str)-1) wlen++;
                for (; wlen >= 0; wlen--)
                {
                    int s = k < 0 ? 0 : k;
                    for (int q = s; str[q] != '\0'; q++)
                        str[q] = str[q+1];
                }
 
                i = 0; continue;
            }
        }
 
        i++;
    }
 
    printf("result = %s\n",str);
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/fb6bec...79a6074c98b48d
    
Yandex
08.08.2012, 18:10    

: 22:10. GMT +3.
- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
@Mail.ru