Concatenazione 2 array c++

di il
4 risposte

Concatenazione 2 array c++

Salve a tutti!
#include <iostream>

using namespace std;

void cat(int ar1[], int ar2[], int l1, int l2){

	int LT=l1+l2;
	int ar3[LT];

	for (int i=0;i<l1;i++){
		ar3[i]=ar1[i];
	}
	int count=0;
	for (int j=l1;j<LT;j++){
		ar3[j]=ar2[count];
		count=count+1;

	for (int f=0;f<LT;f++){
		cout<<ar3[f];
	}
		


}

};

int main(){

int N1=5;
int N2=5;
int N=N1+N2;

int primo[N1];
int secondo[N2];

for(int i=0;i<N1;i++){

	cout<<"Dammi un valore per riempire il primo array: ";
	cin>>primo[i];
	
}

for (int j=0;j<N2;j++){

	cout<<"Dammi un valore per riempire il secondo array: ";
	cin>>secondo[j];

}

cat(primo,secondo,N1,N2);

}

Come da titolo dovrei unire i 2 array in uno più grande...ma esce un output che fa tutt'altro...

4 Risposte

  • Re: Concatenazione 2 array c++

    Ti suggerirei di passare alla funzione i 3 array, quindi anche quello risultante ...
  • Re: Concatenazione 2 array c++

    Questo è il tuo codice scritto in maniera più ordinata:
    #include <iostream>
    
    using namespace std;
    
    void cat(int ar1[], int ar2[], int l1, int l2)
    {
        int LT = l1 + l2;
        int ar3[LT];
        for(int i = 0; i < l1; i++)
        {
            ar3[i] = ar1[i];
        }
        int count = 0;
        for(int j = l1; j < LT; j++)
        {
            ar3[j] = ar2[count];
            count = count + 1;
            for (int f = 0; f < LT; f++)
            {
                cout << ar3[f];
            }
        }
    };
    
    int main()
    {
        int N1 = 5;
        int N2 = 5;
        int N = N1 + N2;
        int primo[N1];
        int secondo[N2];
        for(int i = 0; i < N1; i++)
        {
            cout << "Dammi un valore per riempire il primo array: ";
            cin >> primo[i];
    
        }
        for(int j = 0; j < N2; j++)
        {
            cout << "Dammi un valore per riempire il secondo array: ";
            cin >> secondo[j];
        }
        cat(primo, secondo, N1, N2);
    }
    noti niente di strano?

    P.S.
    Secondo lo standard C++ la dimensione di un array statico deve essere una costante.
  • Re: Concatenazione 2 array c++

    Tutto risolto, avevo fatto casino con le parentesi graffe e il ciclo di output ciclava nel posto sbagliato!
    Grazie a a tutti!
  • Re: Concatenazione 2 array c++

    A prescindere dagli errori, però, considera che una funzione che concatena due stringhe e non "restituisce" la stringa ottenuta non serve a molto...
Devi accedere o registrarti per scrivere nel forum
4 risposte