/*
Nome: Mario
Cognome: Montanari
Classe: 3AIN
Data: 10/01/2025

Realizzare un programma C++ per copiare
gli elementi unici da un array v1[] =
{1, 2, 2, 3, 4, 3, 5, 6, 6, 7} a un nuovo
array v2. L'array v2 deve contenere solo
elementi unici, non considerando eventuali
duplicati presenti in v1.
Organizzare il lavoro con delle funzioni.
Realizzare un main che ne mostri il buon
funzionamento.
*/

#include<iostream>
#include <iomanip>

using namespace std;

int riempiArray(int v[], int v2[], size_t size);
void stampaArray(int v[], int size);

int main(void){
    int size = 10;
    int v[] = {1, 2, 2, 3, 4, 3, 5, 6, 6, 7};
	int v2[size];
	
	cout << "Array originale (v1): ";
    stampaArray(v, size);
    
    int size2 = riempiArray(v, v2, size);
    
    cout << "Array con elementi unici (v2): ";
    stampaArray(v2, size2);

    return 0;  
}

int riempiArray(int v[], int v2[], size_t size) {
    int k = 0;
    for(int i = 0; i < size; i++) {
        bool found = false;
        for(int j = 0; j < i; j++) {
            if(v[i] == v[j])
                found = true;
        }
		if(!found)
            v2[k++] = v[i];
    }
    return k;
}

void stampaArray(int v[], int size) {
    for(int k = 0; k < size; k++) {
        cout << v[k] << " ";
    }
    cout << endl;
}