1. Faça um programa que receba do usuário dois vetores, A e B, com 10 números inteiros cada. Crie um novo vetor denominado C calculando C = A - B. Mostre na tela os dados dos vetores A, B e C. OBS: As operações com vetor devem ser feitas utilizando ponteiros e a deve ser criada uma função que realiza a subtração de dois vetores.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | #include <iostream>#include <sstream>using std::cout;using std::cin;using std::string;using std::stringstream; #include <iomanip> //setwusing std::setw; int receberValor(int pos);void preencherVetor (int *vetor, int tamanho);void subtrairVetores(int *vetA, int *vetB, int *vetResult, int tamanho); int main(){ const int tamVetores =10; int A[tamVetores]; int B[tamVetores]; int C[tamVetores]; cout << "VETOR A:\n"; preencherVetor(A, tamVetores); cout << '\n'; cout << "VETOR B:\n"; preencherVetor(B, tamVetores); subtrairVetores(A, B, C, tamVetores); cout << '\n'; cout << "Vetor A" << setw(11) << "Vetor B" << setw(19) << "Vetor C (A-B)\n"; cout << '\n'; for (int i=0; i<tamVetores; i++){ cout << A[i] << setw(12) << B[i] << setw(12) << C[i] << '\n'; } return 0;} void preencherVetor (int *vetor, int tamanho){ for (int i=0; i<tamanho; i++){ *(vetor+i) = receberValor(i+1); } } void subtrairVetores(int *vetA, int *vetB, int *vetResult, int tamanho){ for (int i=0; i<tamanho;i++) *(vetResult+i) = *(vetA+i) - *(vetB+i); } int receberValor(int pos){ string temp=""; int num=0; while (true){ cout << "Valor "<< pos << ": "; cin >> temp; stringstream myStream(temp); if (myStream >>num) break; //sucesso na conversão else cout << "\nNúmero inválido. Tente de novo." << '\n'; } return num;} |
Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois valores X e Y (posições do vetor). Ao final seu programa deverá escrever a soma dos valores encontrados nos respectivos índices X e Y. OBS: As operações com vetor devem ser feitas utilizando ponteiros e a deve ser criada uma função para a soma dos valores dos índices.
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);} |