Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.89
dom1nator
0 / 0 / 0
Регистрация: 05.10.2009
Сообщений: 7
#1

Работа с файловыми потоками в С++. - C++

14.12.2009, 22:15. Просмотров 2432. Ответов 3
Метки нет (Все метки)

Помогите разобратсья в программе:
Дан символьный файл f. Подсчитать число вхождений в файл каждой из букв a, b, c, d, e, f.
Результат вывести в файл g в виде таблицы с комментариями.
PHP
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <ctime>
#include <iomanip>
using namespace std;
 
int main()
{
    srand(time(0));//инициализируем генератор случайных чисел
    fstream fs;//создаем файловый поток
    fs.open("data.txt",ios::in|ios::out|ios::trunc);//открывай файл для записи чтения и обнуляем его
    int C=100;//сколько букв в файле
    for(int i=0;i<C;i++)//случайно заполняем файл буквами
    {
        fs<<char(rand()%(int('z')-int('a'))+int('a'));
    }
    int a=0,b=0,c=0,d=0,e=0,f=0;//переменные для хранения кол-ва нужных нам букв
    fs.seekg(0);//идем в начало файла
     char ch;//переменная для хранения считываемого символа
    while(!fs.eof())//пока не конец файла
    {
        fs>>ch;//читаем символ
        switch (ch)//проверяем является ли он нужным нам,если да увеличиваем соответствующий счетчик
        {
            case 'a':{a++;break;}
            case 'b':{b++;break;}
            case 'c':{c++;break;}
            case 'd':{d++;break;}
            case 'e':{e++;break;}
            case 'f':{f++;break;}
        }
 
    }
    fstream fs1;//поток для выходного файла
    fs1.open("data1.txt",ios::in|ios::out|ios::trunc);//открываем его
    fs1<<setw(5)<<"a"<<setw(5)<<"b"<<setw(5)<<"c"<<setw(5)<<"d"<<setw(5)<<"e"<<setw(5)<<"f"<<endl;//записываем красивую табличку
    fs1<<setw(5)<<a<<setw(5)<<b<<setw(5)<<c<<setw(5)<<d<<setw(5)<<e<<setw(5)<<f;//записываем данные о буквах
    fs1.close();//закрываем потоки
    fs.close();
    cin.get();
    return 0;
}
Почему то не выводит на экран
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2009, 22:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с файловыми потоками в С++. (C++):

Работа с файловыми потоками - C++
Получилось по заданию примерно как то так:Постановка задачи Входные данные: текстовый файл, содержащий значения средних температур за...

Работа с файловыми потоками - C++
Подскажите. Мне нужно считывать из файла базу данных. Первый элемент каждой строки эта фамилия. Последующие элементы это баллы. У каждой...

Работа с файловыми потоками. Считать информацию - C++
Здравствуйте! Допустим, мне необходимо считать из файла несколько строк, в каждой из которых по нескольку слов, записанных через пробел....

Работа с файловыми потоками. Выполнить проверку в готовом коде на верхний регистр - C++
Хотел бы обратиться к аудитории этого сайта с данной проблемой-в программе, которую я написал, не выполняется одно условие-не проверяется...

Работа с потоками. - C++
Здравствуйте. Есть программа реализующая перебор вариантов размена суммы (к примеру 100 = 100, 100 = 50 + 50 т.д.) #include...

Работа с потоками - C++
Задача поставлена так : Необходимо открыть поток, записать некую информацию и далее закрыть его. Но необходимо, чтобы после закрытия...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
14.12.2009, 22:25 #2
цикл заменяешь на это

C++
1
2
3
4
5
6
typedef std::map<char, size_t> Z;
Z z;
 
while(...) ++z[ch];
 
std::cout << "Количество символов 'a': " << z['а'] << std::endl;
и так для всех символов какие нужны.
0
M128K145
Эксперт С++
8288 / 3508 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
14.12.2009, 22:25 #3
dom1nator, а ты на экран ничего и не выводишь, ты все в файл печатаешь
0
dom1nator
0 / 0 / 0
Регистрация: 05.10.2009
Сообщений: 7
14.12.2009, 22:57  [ТС] #4
Rififi а можешь напсиать куда заменять? а то я не очень сильно шарю
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2009, 22:57
Привет! Вот еще темы с ответами:

Работа с потоками - C++
Нужно посчитать сумму элементов в матрице nxn написал а она мне выдаёт ошибку. и теперь не знаю что надо делать. ...

Работа с потоками - C++
Пишу простой RSS агрегатор и уже практически доделал его в программе параллельно устанавливается соединение и потом извлекаем данные из...

работа с потоками - C++
Добрый вечер! Есть файл txt, состоит из символов, чисел, необходимо его открыть, упорядочить некоторым образом и записать, начал с...

Работа с потоками - C++
Задание Разработать программу, реализующую многопочность средствами среды Win32. Программа должна обеспечивать: Отображение списка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.12.2009, 22:57
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru