Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2010, 12:34   #1
kvas91
 
Регистрация: 13.08.2010
Сообщений: 4
По умолчанию Подсчитать количество букв "А" в предложении и общее количество букв.В тексте из файла несколько строк.

только начинаю осваивать си. нужно упростить программу ибо "слишком замудренно у тебя тут все" и еще есть проблема- после компиляции вывод мгновенно закрывается. помогите а) а еще записать это надо в выходной файл.
[
Код:
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <fstream>
 
int main()
{
    std::vector<std::string> StrVec;
    std::string Str;
    std::ifstream ifs("Test.txt");
    if(!ifs)
    {
       std::cerr<<"Error! Can`t open file!\n";
       return 1;
    }
    while(!ifs.eof())
    {
         std::getline(ifs, Str);
         StrVec.push_back(Str);
    }
    int numb_of_a=0, numb_of_let=0;
    for(std::vector<std::string>::const_iterator Iter=StrVec.begin(); Iter!=StrVec.end(); ++Iter)
    {
         numb_of_a+=std::count(Iter->begin(), Iter->end(), 'a');
         for(std::string::const_iterator It=Iter->begin(); It!=Iter->end(); ++It)
         {
              if(isalpha(*It))
                   ++numb_of_let;
         }
    }
    std::cout<<"Numb of a in text: "<< numb_of_a <<'\n';
    std::cout<<"Numb of letters in text: "<< numb_of_let <<'\n';
    return 0;

Последний раз редактировалось kvas91; 14.11.2010 в 13:27.
kvas91 вне форума Ответить с цитированием
Старый 14.11.2010, 15:27   #2
WOWka777
Пользователь
 
Регистрация: 21.10.2008
Сообщений: 37
По умолчанию

чтобы не закрывалось перед
Код:
return 0;
вставь getch();
Вывести в файл можно так, скорей всего,не помню точно как функция называется
Код:
 
std::writeline(ifs, "Numb of a in text: "+numb_of_a);
std::writeline(ifs, "Numb of letters in text: "+ numb_of_let);
WOWka777 вне форума Ответить с цитированием
Старый 14.11.2010, 15:43   #3
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Это не С, а С++. Вам в начале не мешало бы using namespace std; И сформулируйте задание поканкретней, если не трудно, а то не понятно, толи текст, толи не текст...
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 14.11.2010, 16:51   #4
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

Код:
 int numb_of_a=0, numb_of_let=0;
    for(std::vector<std::string>::const_iterator Iter=StrVec.begin(); Iter!=StrVec.end(); ++Iter)
    {
         numb_of_a+=std::count(Iter->begin(), Iter->end(), 'a');
         for(std::string::const_iterator It=Iter->begin(); It!=Iter->end(); ++It)
         {
              if(isalpha(*It))
                   ++numb_of_let;
         }
а нельзя сразу полученную строку обрабатывать ? зачем все усложнять :D
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В предложении подсчитать количество слов. Delphi King21 Помощь студентам 4 16.03.2011 14:26
Подсчитать количество слов и количество букв MDSIQ Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 13.11.2010 16:57
Найти слова, в которых доля букв "а" и "е" минимальна. Андрей_ка Паскаль, Turbo Pascal, PascalABC.NET 0 10.10.2010 16:56
определить количество букв в предложении bratello41 Паскаль, Turbo Pascal, PascalABC.NET 1 12.06.2010 09:31
Количество букв! Marsik Помощь студентам 2 27.03.2008 19:18