Problem

2/9

Sıralanmış Listeler #1

Theory Click to read/hide

Varsayılan olarak, listelerdeki veriler anahtara göre artan düzende sıralanır, genellikle bu sıralama düzeninin değiştirilmesi gerekir.
Bunun için verileri sizin belirlediğiniz şekilde konumlandıracak bir karşılaştırıcı yazabilirsiniz.

Anahtarın azalan sırasına göre sıralayan bir karşılaştırıcı örneği (main'den önce yazılır):

yapı cmp'si
{
bool operator()(const string &< /span>a, const string &b) const
{
dönüş bir > B;
}
};

ve liste oluşturulurken kullanılır:

harita<string, int, cmp> ; haritam;

Problem

Alfa Frekans Sözlüğü Oluştur: alfabetik sıraya göre bir sözcük listesi, her sözcüğün sağında, kaynak dosyada kaç kez geçtiği belirtilmelidir. Metnin sonunun işareti "BİTTİ!"'dir. Liste, anahtara göre sözlükten azalan düzende sıralanmalıdır.
 
 
Giriş Çıktı
bir
iki
bir
üç
iki
bir
SON!
üç 1
bir 3
iki 2
Write the program below
#include<iostream>	
#include <map>
#include<string>
using namespace std;
struct cmp
{
	

       
};

int main() {

	map<string, int, cmp> mymap;
	string s;
	while (!cin.eof())
	{
		cin >> s;
		if (s == "END!")  break;
		mymap[s]++;

	}
	map<string, int>::iterator it;

	for (it = mymap.begin(); it != mymap.end(); ++it)
	cout <<  it->first << " " << it->second << "\n";
	

	return 0;
}

       

     

Program check result

To check the solution of the problem, you need to register or log in!