Buonasera a tutti, sono alle prese con la scrittura di un programma che legga due array di interi da input e che determini se l'array più piccolo è contenuto nell'array più grande. Tuttavia il programma continua a stamparmi il messaggio " l'array non è contenuto" nonostante lo sia, quindi credo di aver omesso qualcosa nel programma.
Questo è il programma che ho scritto:
#include <iostream>
using namespace std;
#include <new>
int * alloca_array ( const int dim )
{
    return new ( nothrow ) int [dim];
}
void dealloca_array ( int * & v )
{
    delete [] v;
    v = NULL;
}
int * alloca_array_2 ( const int dimensione )
{
    return new ( nothrow ) int [dimensione];
}
void dealloca_array_2 ( int * & w )
{
    delete [] w;
    w = NULL;
}
void leggi_array ( int * const v , const int dim )
{
    cout << " inserisci gli elementi dell'array " << endl;
    for ( int i = 0; i < dim ; i ++ )
    {
        cout << " v [ " << i << " ] = ";
        cin >> v ;
    }
}
void leggi_secondo_array( int * const w , const int dimensione )
{
    cout << " inserisci gli elementi dell'array " << endl;
    for ( int j = 0; j < dimensione ; j ++ )
    {
        cout << " v [ " << j << " ] = ";
        cin >> w [j];
    }
}
bool cerca_array1_in_array2 ( int * const y , const int dim , int const * x , const int dimensione)
{
    for ( int i = 0; i < dim; i++ )
        for ( int j = 0; j < dimensione; j++ )
        if ( y[dim] < x[dimensione] && y == x[j] )
            return true;
return false;
}
int main ()
{
    int * v = NULL;
    int * w = NULL;
    int dim_array;
    int dim_array_2;
    
    cout << " inserisci la dimensione dell'array ";
    cin >> dim_array;
    cout << " inserisci la dimensione del secondo array";
    cin >> dim_array_2;
    
    v = alloca_array (dim_array);
    
    w = alloca_array_2(dim_array_2);
    
    leggi_array ( v , dim_array);
    leggi_secondo_array( w , dim_array_2 );
    
    
    bool corrisponde = cerca_array1_in_array2( v , dim_array , w , dim_array_2 );
    if (corrisponde)
        cout << " l'array più piccolo è contenuto nell'array più grande " << endl;
    else
        cout << " l'array non è contenuto " << endl;
    
    dealloca_array (v);
    dealloca_array_2(w);    
   
    return 0;
    
}
Spero possiate consigliarmi qualcosa per approfondire i miei studi in questo campo in quanto principiante. Grazie in anticipo a tutti.