jueves, 24 de septiembre de 2015

STL Usando Contenedores Array en Visual Studio 2013


Main.cpp

//STL Usando Contenedores Array

#include <iostream>
#include <iomanip>
#include <array>
#include <numeric>

using namespace std;
using std::array;

//Lista de Valores de un Contenedor Array
template<class T, size_t N>
void listaValores(const array<T, N> &datos)
{
	const int valores_por_linea{ 6 };
	int contador{};
	for (const auto &valor : datos)
	{
		cout << setw(14) << valor;

		if (++contador % valores_por_linea == 0)
		{
			cout << endl;
		}

		cout << endl;
	}
}


int main()
{
	//Creamos la serie fibonacci
	const size_t N{ 20 };
	array<long, N> fibonacci{ 1L, 1L };

	for (size_t i{ 2 }; i < fibonacci.size(); ++i)
	{
		fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];
	}

	cout << "La Serie Fibonacci es: " << endl;

	listaValores(fibonacci);

	array<long, N> numeros;
	numeros.fill(99L);
	fibonacci.swap(numeros);
	cout << endl << "Despues de intercambiar el contenido de fibonacci" << endl;
	listaValores(fibonacci);

	//creamos una serie para pi/4
	array<double, 120>series;
	double factor{ -1.0 };

	for (size_t x{}; x < series.size(); ++x)
	{
		factor *= -1.0;
		series[x] = factor / (2 * x + 1);
	}

	cout << endl << "Serie para PI es: " << endl;
	listaValores(series);

	double resultado{ accumulate(cbegin(series), cend(series), 0.0) };

	cout << "La serie de sumas converge lentamente a pi / 4. La suma x 4 es: "
		<< 4.0 * resultado << endl;

	system("pause");
}




No hay comentarios:

Publicar un comentario