Problema 1: Inicialização aleatório de um vetor e impressão do vetor
#include <iostream> //entrada e saida #include <algorithm>//funcao para manipular elementos #include <vector>//manipulacao de vetor #include <ctime> //manipulacao de data e informacao sobre tempo #include <cstdlib> #include <numeric> using namespace std; //gera numero aleatorio entre 0 e 99 int RandomNumber () { return (rand()%100); } void print(int i){ cout << i << " "; } int main(){ int n; cin >> n; vector <int> v(n); //vetor de inteiros srand ( unsigned ( time(NULL) ) ); generate (v.begin(), v.end(), RandomNumber); cout << "Imprimindo vetor usando for" << endl; for(int i=0;i<n;i++) print(v[i]); cout << endl; //nova linha cout << "Imprimindo vetor usando foreach" << endl; for_each(v.begin(), v.end(), print); cout << endl; //nova linha cout << "Imprimindo vetor usando copy" << endl; copy (v.begin(),v.end(), ostream_iterator<int>(cout," ")); cout << endl; //nova linha system("PAUSE"); }Problema 2: Encontrar o maior e o menor de um vetor. Encontrar a quantidade de números pares e maiores que 50.
#include <iostream> //entrada e saida #include <algorithm>//funcao para manipular elementos de um intervalo #include <vector>//manipulacao de vetor #include <ctime> //manipulacao de data e informacao sobre tempo #include <cstdlib> #include <numeric> using namespace std; int RandomNumber () { return (rand()%100); } void print(int i){ cout << i << " "; } bool ehPar(int i){ return i%2==0;} int main(){ int n; cin >> n; vector <int> v(n); srand ( unsigned ( time(NULL) ) ); generate (v.begin(), v.end(), RandomNumber); cout << "maior elemento : " << *max_element(v.begin(),v.end()); cout << endl; cout << "menor elemento : " << *min_element(v.begin(),v.end()) cout << endl; cout << "quantidade de numero pares: " << count_if(v.begin(),v.end(), ehPar) << endl; //conta o numero de elementos do vetor que retorna true para o // predicado ehPar cout << "quantidade de numeros maiores de 50:" << count_if(v.begin(),v.end(), bind2nd(greater<int>(),50)) << endl; //bind2nd substitui o segundo parametro de um predicado binario x > y //bind2nd( greater<int>(), 50) retorna o predicado n > 50 system("PAUSE"); } Problema 3: Ordenar o vetor em ordem crescente e decrescente
#include <iostream> //entrada e saida #include <algorithm>//funcao para manipular elementos de um intervalo #include <vector>//manipulacao de vetor #include <ctime> //manipulacao de data e informacao sobre tempo #include <cstdlib> #include <numeric> using namespace std; int RandomNumber () { return (rand()%100); } void print(int i){ cout << i << " "; } bool ehPar(int i){ return i%2==0;} int main(){ int n; cin >> n; vector <int> v(n); srand ( unsigned ( time(NULL) ) ); generate (v.begin(), v.end(), RandomNumber); cout << "Imprimindo vetor em ordem crescente:" << endl; sort(v.begin() , v.end() , less<int>() ); for_each(v.begin(), v.end(), print); cout << endl; cout << "Imprimindo vetor em ordem decrescente:" << endl; sort(v.begin() , v.end() , greater<int>() ); for_each(v.begin(), v.end(), print); cout << endl; system("PAUSE"); } Problema 3: O somatório dos elementos do vetor.
#include <iostream> //entrada e saida #include <algorithm>//funcao para manipular elementos de um intervalo #include <vector>//manipulacao de vetor #include <ctime> //manipulacao de data e informacao sobre tempo #include <cstdlib> #include <numeric> using namespace std; int RandomNumber () { return (rand()%100); } void print(int i){ cout << i << " "; } bool ehPar(int i){ return i%2==0;} int main(){ int n; cin >> n; vector <int> v(n); srand ( unsigned ( time(NULL) ) ); generate (v.begin(), v.end(), RandomNumber); cout << "Somatorio dos elementos do vetor :" << accumulate(v.begin(),v.end(),0) << endl; system("PAUSE"); } Problema 4: Cálculo de n!
#include <iostream> //entrada e saida #include <algorithm>//funcao para manipular elementos de um intervalo #include <vector>//manipulacao de vetor #include <ctime> //manipulacao de data e informacao sobre tempo #include <cstdlib> #include <numeric> using namespace std; int current=1; int Range () { return current++; } int main(){ int n; cin >> n; vector <int> x(n); generate_n (x.begin(), n , Range ); cout << "fatorial:" << std::accumulate(x.begin(), x.end(), 1, std::multiplies<int>()) ; cout << endl; system("PAUSE"); }
Problema 5: Imprimindo todas as permutações de conjunto com n elementos.
#include <iostream> //entrada e saida #include <algorithm>//funcao para manipular elementos de um intervalo #include <vector>//manipulacao de vetor #include <ctime> //manipulacao de data e informacao sobre tempo #include <cstdlib> #include <numeric> using namespace std; int current=1; int Range () { return current++; } int main(){ int n; cin >> n; vector <int> v(n); generate_n (v.begin(), n , Range ); cout << "Imprimindo todas as permutacoes" << endl; int count=1; do { //imprimindo vetor cout << count ++ << " "; copy (v.begin(),v.end(), ostream_iterator<int>(cout," ")); cout << endl; } while ( next_permutation (v.begin(),v.end()) ); system("PAUSE"); }
Um comentário:
Muito Legal Wladmir.
Muito bom pro pessoal que tá chegando.
Keep Going.
Postar um comentário