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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2011, 13:12   #1
Twisterr
Пользователь
 
Регистрация: 25.09.2011
Сообщений: 10
По умолчанию Подсчет символов

You given N and one line of length N (1<=N<=1000)than consist of letter in interval A..Z.
Your task is to find out how often each letter from the alphabet is found in the line.
First line of your output have to consist of total amount of unduplicated letters. Then your program have to print only the letters that exists in given line in the following format:
LETTER COUNT ex : (A 1)
The letter have to be printed in alpahbet order (A,B,C...Z).


Sample input 1:
1
A

Sample output 1:
1
A 1

Sample input 2:
6
ABBBAZ

Sample output 2:
3
A 2
B 3
Z 1

Код:
int main () {

	ios_base :: sync_with_stdio(0);

//	freopen(FILE".in", "r", stdin);
//	freopen(FILE".out", "w", stdout);

	int n, a[100] = {0};
	string s;
	cin >> n >> s;
	int c = 0;
	REP(i, SZ(s)) a[(int) (s[i] - 'A')]++;
	REP(i, 26) if (a[i]) c++;
	cout << c << endl;
	REP(i, 26)
		if (a[i]) cout << (char) ('A' + i) << ' ' << a[i] << endl;

	return 0;
}
могу так но мне нужно более простое решение

Последний раз редактировалось Twisterr; 02.10.2011 в 13:35.
Twisterr вне форума Ответить с цитированием
Старый 02.10.2011, 13:18   #2
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

Яп какой?

....
onewho вне форума Ответить с цитированием
Старый 02.10.2011, 13:30   #3
Twisterr
Пользователь
 
Регистрация: 25.09.2011
Сообщений: 10
По умолчанию

Код:
#include <iostream>
using namespace std;
int main()
{
 
char buffer[1000];  
int size=0;
 
  cin>>size;
  
  for(int i=0;i<size;i++)
    cin>>buffer[i];

  int n=0; 
  for(int i=0;i<size;i++)
   
   if('A'==buffer[i])
    n++;

   

  cout<<n;
  return 0;
}
все до чего я додумался

Последний раз редактировалось ACE Valery; 02.10.2011 в 18:35.
Twisterr вне форума Ответить с цитированием
Старый 02.10.2011, 18:04   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

читаешь из строки, кидаешь в map<char, int>. сразу получишь упорядоченную последовательность. в чем проблема то?
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 вне форума Ответить с цитированием
Старый 02.10.2011, 19:11   #5
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Код:
#include <iostream>
#include <map>

using namespace std;


int main()
{
   int n; cin >> n;  
   map<char, int> chs;
   for(char ch; n > 0 && cin >> ch; n--)
      chs[ch]++;

   cout << chs.size() << endl;
   for(map<char, int>::iterator iter = chs.begin(); iter != chs.end(); iter++)
      cout << iter->first << " " << iter->second << endl;
   
   return 0;
}
Ok?
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подсчет символов. язык c fsq Общие вопросы C/C++ 1 19.09.2011 00:57
подсчет числа комбинации символов 'ab' во входном потоке символов (Си) skrappy_kokko Помощь студентам 4 14.09.2011 23:10
Подсчет символов. dan_treacy101 Общие вопросы C/C++ 7 26.07.2011 00:50
подсчет прочитанных символов Asdprom Общие вопросы C/C++ 4 04.03.2011 15:27
Подсчет символов в числе. bygoga Общие вопросы C/C++ 4 20.05.2009 18:34