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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2011, 13:03   #1
ArtMan_tk
Новичок
Джуниор
 
Регистрация: 16.03.2011
Сообщений: 2
По умолчанию Подсчитывание букв и вывод их в таблицу

У меня такой вопрос, есть какой то документ, мне надо подсчитать количество одинаковых букв в нем, допустим мама, должно быть так
А - 2
м - 2
Я написал программу которая будет считывать с документа и заносить в новый документ, вот код:
Код:
#include <stdio.h>
#include <conio.h>

void main(){
FILE *in, *out;
int a;
in=fopen("C:\\in.txt","r");
out=fopen("C:\\out.txt","w");
   while(!feof(in)){
   a=fgetc(in);
   fprintf(out, "%d", a);
   }

   fclose(in);
   fclose(out);
   printf("Operation completed\nPress any key");
   getch();
}
Дальше мысли вообще теряются....я не знаю как подсчитать....помогите пожалуйста...

Последний раз редактировалось ArtMan_tk; 16.03.2011 в 13:33.
ArtMan_tk вне форума Ответить с цитированием
Старый 16.03.2011, 14:02   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

вооооооооооот. на плюсаааах
Код:
#include <iostream>
#include <iterator>
#include <fstream>
#include <map>

using namespace std;

int main(int argc, char *argv[])
{
	map<char, int> m;
	fstream f("c:\\text.txt");

	for (istream_iterator<char> It(f); It != istream_iterator<char>(); ++It)
		m[*It]++;
	
	for (map<char, int>::const_iterator i = m.begin(); i != m.end(); ++i)
		cout << i->first << " = " << i->second << endl;
	
	return 0;
}
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 16.03.2011, 14:07   #3
ArtMan_tk
Новичок
Джуниор
 
Регистрация: 16.03.2011
Сообщений: 2
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
вооооооооооот. на плюсаааах
Код:
#include <iostream>
#include <iterator>
#include <fstream>
#include <map>

using namespace std;

int main(int argc, char *argv[])
{
	map<char, int> m;
	fstream f("c:\\text.txt");

	for (istream_iterator<char> It(f); It != istream_iterator<char>(); ++It)
		m[*It]++;
	
	for (map<char, int>::const_iterator i = m.begin(); i != m.end(); ++i)
		cout << i->first << " = " << i->second << endl;
	
	return 0;
}
Спасибо большое, а не могли бы вы пояснить части кода, если вам не сложно пожалуйста..
ArtMan_tk вне форума Ответить с цитированием
Старый 16.03.2011, 14:24   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

открываем файловый поток, проходимся по потоку, записывая в map ключ - символ, значение - текущее, увеличенное на 1. выводим map
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчитывание вводимых строк Blourid Общие вопросы .NET 5 10.12.2010 17:44
Подсчитывание файлов Mihanches Работа с сетью в Delphi 0 03.11.2010 18:08
Вывод информации в таблицу Desha Обсуждение статей 1 11.11.2009 13:21
Вывод массива в таблицу Kycaka Общие вопросы C/C++ 30 26.05.2009 19:19
Вывод на печать StringGrid таблицу Македонский Общие вопросы Delphi 3 06.11.2007 01:21