Tenho um trabalho de faculdade a realizar e estou com dificuldades em uma certa parte, segue as questões:
Escreva um programa contendo os seguintes procedimentos.
- um procedimento que carrega dois vetores de tamanho 20 com números compreendidos entre 1..30;
- Uma função boleano que verifica se um determinado numero esta no vetor;
- um procedimento que recebe os dois 2 vetores acima carregados e executa as seguintes tarefas:
a) procedimento que carrega em outro vetor os elementos comuns aos 2 vetores sem repetição;
um procedimento que carrega em outro vetor os elementos não comuns aos 2 vetores;
Obs: use o método boleano que verifica se um elemento do 1o vetor está ou não no 2o.e vice-versa
A parte em questão é nos itens a / b e com a função boleana que verifica se tem o numero no vetor.
Esse foi o código que eu desenvolvi:
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void carrega1(int v[], int x){
for(int i = 0; i < x; i++){
v=rand()%30 + 1;
}
cout<<endl;
}
void carrega2(int v[], int x){
for(int i = 0; i < x; i++){
v=rand()%30 + 1;
}
cout<<endl;
}
void ordenavetor (int v[],int x){
int aux;
for (int i=0;i<x-1;i++)
for (int j=i+1;j<x;j++)
if (v[j]<v){
aux=v;
v=v[j];
v[j]=aux;
}
}
void mostra1(int v[], int x){
for(int i = 0; i < x; i++){
cout<<v<<" ";
}
cout<<endl;
}
void mostra2(int v[], int x){
for(int i = 0; i < x; i++){
cout<<v<<" ";
}
cout<<endl;
}
bool existe(int v[],int t, int x){
for(int i=0;i<t;i++)
if (v==x){
cout<<x<<" esta no vetor";
return true;
cout<<"nao esta no vetor";
return false;
}
}
int main(){
int v;
int vetor[20], x;
srand(time(NULL));
int n = 0;
carrega1(vetor,20);
ordenavetor(vetor,20);
cout<<"Vetor 1: ";
mostra1(vetor,20);
carrega2(vetor,20);
ordenavetor(vetor,20);
cout<<"Vetor 2: ";
mostra2(vetor,20);
cout<<endl;
cout<<"digite um numero: ";
cin>>x;
cout<<existe(vetor,20,x)<<endl;
}