/*Prova del 18.06.2010
Siano dati in ingresso i riempimenti n1 ed n2 ed i valori di due vettori V1 e V2
di interi. Si scriva un programma che, per ogni elemento di V1, verifichi se e'
presente in V2 ed in caso positivo lo elimini da V1. Si stampi il vettore V1
risultante ed il numero di elementi eliminati o un opportuno messaggio se non
ci sono elementi da eliminare. Si faccia l'ipotesi che in ognuno dei due vettori i
valori siano diversi fra loro. Si strutturi il programma in opportuni sottoprogrammi.
Esempi:
INPUT
n1 = 4 V1 = 7 5 3 4
n2 = 6 V2 = 1 3 7 6 8 2
OUTPUT
Dal vettore V1 sono stati eliminati 2 elementi. Il vettore V1 risultante e': 5 4
INPUT: n1 = 7 V1 = 14 10 2 13 8 7 9
n2 = 6 V2 = 3 4 5 12 1 6
OUTPUT: Non ci sono elementi di V1 uguali ad elementi di V2.*/
#include<iostream>
using namespace std;
#include<stdlib.h>
//Prototipi delle funzioni
void input(int &n,float vett[],int num);
bool trovato (float vett[],int n,int num);
void elimina (float vett[], int posiz, int riemp);
void output(int n,float vett[],int num);
int main(){
int n1;
int n2;
int n3;
int num;
int posiz;
float vett1[100];
float vett2[100];
int riemp;
//Chiamate delle funzioni
cout<<"Inserisci il riempimento N1\n";
input(n1,vett1,1);
cout<<"V1= "<<endl;
output(n1,vett1,1);
cout<<"Inserisci il riempimento N2\n";
input(n2,vett2,2);
cout<<"V2= "<<endl;
output(n2,vett2,2);
elimina (vett1,posiz,riemp);
system("PAUSE");
return 0;
}
void input(int&n,float vett[],int num){
cin>>n;
cout<<"Assegna"<<n<<"elementi del vettore"<<num<<"\n";
for (int i=0;i<n;i++)
cin>>vett[i];
}
bool trovato (float vett[],int n,int num){
for (int i=0;i<n;i++)
{
if (vett[i]==num)
return true;
}
return false;
}
void elimina (float vett[], int posiz, int riemp){
int i;
for(i=posiz+1;i<(riemp-1);i++){
vett[i]=vett[i+1];
riemp--;}
cout<<"\nInserisci posizione da eliminare ";
cin>>posiz;
cout<<"Il vettore e'";
for(int i=0; i<riemp-1; i++){
cout<<vett[i]<<" ";
}
cout<<"\n";
}
void output(int n,float vett[],int num) {
for (int i=0;i<n;i++)
cout<<" "<<vett[i];
cout<<"\n";
}