/* 
   Scrivere una funzione che prende in ingresso tre vettori
   di booleani della stessa lunghezza e restituisce nel terzo
   lo XOR logic fra ciascun elemento del primo e del secondo vettore

   Esempio
   
   Dati i seguenti vettori a e b, il vettore c deve valere:

   a  b  |  c
   -----------
   0  0  |  0
   0  1  |  1
   1  0  |  1
   1  1  |  0

*/

#include <iostream>
using namespace std;

void vettXOR(bool*, bool*, bool*, int);

int main() {
	const int LEN = 4;
	bool a[LEN] = { false, false, true, true };
	bool b[LEN] = { false, true, false, true};	
	bool c[LEN];

	vettXOR(a, b, c, LEN);

	for (int i = 0; i < LEN; i++){
		if (c[i])
			cout << "true" << endl;
		else
			cout << "false" << endl;
	}

	return 0;
}


void vettXOR(bool v1[], bool v2[], bool v3[], int n) {
	for (int j = 0; j < n; j++)
		if (v1[j] == v2[j])
			v3[j] = false;
		else
			v3[j] = true;	
}
