Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Visual C++] Pабота с файлами


Автор: Student2006 20.4.2007, 21:35
Пусть в некоторый файл 'WORDS.TXT' построчно записаны слова.
Исключить из файла cлово с максимальным процентом гласных 
(Visual Studio) Заранее спасибо

Автор: Xenon 20.4.2007, 22:17
Код

#include <iostream> 
#include <vector>
#include <fstream>

const int MAX = 6;

double find_percent(const std::string& word)
{
    static const char vowel [MAX] = {'a','e','i','o','u','y'};
    int count = 0;
    for (int i = 0; i < word.size(); i++)
    {
        for (int j = 0; j < MAX; ++j)
            if(word[i] == vowel[j]) ++count;
    }
    return (count * 100 / word.size());
}

int main(int argc, char* argv[])
{
    std::fstream file("WORDS.TXT", std::ios::in);
    std::vector<std::string> word_arr;
    if (!file) return -1;
    while (!file.eof())
    {
        std::string word;
        std::getline(file, word, '\n');
        if (word.size() != 0) word_arr.push_back(word);
    }
    std::string ex_word;
    double cur_percent = 0;
    for (int i = 0; i < word_arr.size(); ++i)
    {
        double buf = find_percent(word_arr[i]);
        if (buf > cur_percent)
        {
            ex_word = word_arr[i];
            cur_percent = buf;
        }
    }
    std::cout << ex_word;
    getchar();
    return 0;
}

Автор: Student2006 21.4.2007, 11:15
Спасибо!

Автор: Gordon 27.1.2008, 20:25
Доброго всем времени суток!!! Возник такой вопрос, есть ли в Visual C++ 2005 класс CFile (как в шестом) или его аналог... ?

P.S.Прошу простить за то, что вопрос чуть не в тему...  smile но создавать новый топик было бы еще хуже... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)