sábado, 26 de septiembre de 2015

STL Usando Iteradores de Flujo de Entradas o Input Stream Iterator en Visual Studio 2013


Main.cpp

//STL Usando Iteradores de Flujo de Entradas o Input Stream Iterator

#include <iostream>
#include <iomanip>
#include <string>
#include <map>
#include <iterator>

using namespace std;


int main()
{
	map<string, int> palabras; //con map almacenamos las palabras y la cantidad

	cout << "Introduce algun texto, presiona Enter seguido de un Ctrl+Z"
		<< "entonces introduces Enter para terminar:\n"
		<< endl;

	istream_iterator<string> empiezaFlujo{ cin }; //Stream iterador para empezar
	istream_iterator<string> terminaFlujo; //termina el stream iterador

	while (empiezaFlujo != terminaFlujo)
		palabras[*empiezaFlujo++]++; //incrementa y almacena en un contador de palabras

	//salida de las palabras y la cuenta
	cout << "Aqui estan la cantidad de palabras para el texto que tecleaste: " << endl;
	const int palabrasPorLinea{ 4 };

	int contadorPalabras{};

	cout << setiosflags(ios::left); //justificar la salida a la izquierda

	for (const auto &palabra : palabras)
	{
		cout << setw(15) << palabra.first << " " << setw(5) << palabra.second;

		if (++contadorPalabras % palabrasPorLinea == 0)
			cout << endl;
	}

	cout << endl;
	system("pause");
}

No hay comentarios:

Publicar un comentario