Funzione c++: Unione di due array.

di il
1 risposte

Funzione c++: Unione di due array.

Salve a tutti, devo creare una funzione dove , dati in input due array, restituisca un terzo array che sia l'unione dei due precedenti array.
Ho creato il programma in un unico main principale perché non riesco a creare una funzione a parte.

A questo punto i miei principali problemi sono 2:
-1 Non riesco a richiamare l'ipotetica funzione (Unione) nel main, il compilatore mi dà errori che proprio non riesco a risolvere.
-2 Ho avuto problemi nel dichiarare la dimensione logica degli array, il programma dovrebbe chiedere all'utente di quanti elementi sono formati i primi due array. Cosi per prova ho supposto che il primo array sia di 5 elementi, il secondo di 2 e il terzo di massimo 7.

Questo è il codice:
#include <cstdlib>
#include <iostream>

int vet1[5],vet2[2],vet3[7];

using namespace std;
main(){
	int i=0;
	int j=0, k=0;
	while(i<5){
		cout<<"Inserisci il valore array1: ";
		cin>>vet1[i];
		i++;
	}
	i=0;
	while(i<2){
		cout<<"Inserisci il valore array2: ";
		cin>>vet2[i];
		i++;
	}
	i=0;
	cout<<"\n";
	while(i<5){
	cout<<"vet1["<<i<<"]: "<<vet1[i];
	cout<<"\n";
	i++;
   }
   i=0;
   cout<<"\n";
	while(i<2){
	cout<<"vet2["<<i<<"]: "<<vet2[i];
	cout<<"\n";
	i++;
   }
   i=0;
	while(i<5){
		vet3[i]=vet1[i];
		i++;
	}
	i=0, j=5;
	while(k<2){
		while(i<5){
			if(vet2[k]!=vet1[i]){
			   i++;}
			else{
			  k++,i=0;}
	    }
		vet3[j]=vet2[k];
		j++,k++,i=0;
		}
	i=0;
   cout<<"\n";
	while(i<7){
	cout<<"vet3["<<i<<"]: "<<vet3[i];
	cout<<"\n";
	i++;
   }
}
Qualcuno può aiutarmi, grazie.

1 Risposte

  • Re: Funzione c++: Unione di due array.

    Magari usando qualche funzione si capisce di più!

    riempi(tipo A[],n_elementi){
    for(int i=0;i<n_elementi;i++){
    cout<<"Inserisci elemento" <<i <<endl;
    cin>>A;
    }
    }
    unione(tipo A[],tipo B[],tipo C[]){
    int i=0
    do{
    A = C;
    i++;
    }while(i<=elementia-1);
    int j=0
    do{
    i++
    C = B[j];
    j++;
    }while(j<=elemintib-1);

    Si può fare di meglio,ma questo dovrebbe funzionare prova!
Devi accedere o registrarti per scrivere nel forum
1 risposte