12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | #include <iostream>using std::cout;using std::cin; #include <iomanip> //time //no dev c++ para isso ser aceito é preciso ir em Tools -> Compiler Options e acrescentar -std=c++11 "when calling the compiler"#include <random> #include <locale.h> //necessário para usar setlocale void usaValoresAleatorios(int vetor[], int tamanho, int *x, int *y);int somarValores(int *vetor, int x, int y); int main(){ const int tamVetor=8; int a[tamVetor]; int x; int y; char resposta; setlocale(LC_ALL,""); //me permite usar acentuação cout << "Por default este programa usa o gerador de números aleatórios.\n"; cout << "você deseja em vez disso fornecer os valores?\n"; cout << "s=sim, n=não.\n"; cin >> resposta; if (resposta=='s'){//Não me importa realmente qualquer outra resposta for (int i=0; i<tamVetor; i++){ cout << "Posição " << i+1 << ": "; cin >> *(a+i); } cout << '\n'; cout << "X: "; cin >> x; cout << "Y: "; cin >> y; } else{ usaValoresAleatorios (a,tamVetor,&x,&y); } cout << '\n'; cout << "Valores de entrada\n"; cout << '\n'; for (int i=0; i<tamVetor; i++){ cout <<i+1 <<": " << *(a+i) << '\n'; } cout << '\n'; cout << "X: " << x << '\n'; cout << "Y: " << y << '\n'; cout << '\n'; int soma = somarValores(a, x, y); cout << "A soma dos valores encontrados nas posições X e Y é: " << soma << '\n'; return 0;} void usaValoresAleatorios(int vetor[], int tamanho, int *x, int *y){ // Preparo o gerador de número randômicos para me fornecer números na faixa de -10 a 10 std::mt19937 eng(time(NULL)); // Alimento o gerador com a hora atual para me certificar que cada execução seja diferente std::uniform_int_distribution<> distr(-10, 10); // defino faixa std::uniform_int_distribution<> distr1(1, tamanho); // defino faixa //Preencho o vetor com números aleatórios for (int i=0; i<tamanho; i++){ vetor[i]=distr(eng); } *x=distr1(eng); *y=distr1(eng);} int somarValores(int *vetor, int x, int y){ return *(vetor+x-1) + *(vetor+y-1);} |