Verifica condizione somma elementi tra due array

giuliomontenero
L'esercizio dice di verificare se ogni elemento di a è somma di almeno due elementi di b
io ho provato a svolgere l'esercizio ma riesco solo a fare quello che mi verifica se ogni elemento di a è pari alla somma di due elementi di b e basta.
non riesco ad andare oltre
#include<iostream>
using namespace std;
bool funzione(int [],int ,int [],int );
bool funz(int ,int [],int );
int main()
{
    int da=4;
    int db=5;
    int a[]={8,8,5,309};
    int b[]={2,6,3,1,2};
    if(!(funzione(a,da,b,db)))
    cout<<"NON ";
    cout<<" E' VERIFICATA LA CONDIZIONE DELL'ESERCIZIO"<<endl;

return 0;
}
bool funz(int v,int b[],int db)
{
    bool test=false;
    for(int i=0;i<db && !test;i++)
    {
        for(int j=0;j<db && !test;j++)
        {
            if(b[i]+b[j]==v)
            test=true;
        }
    }
    return test;
}
bool funzione(int a[],int da,int b[],int db)
{
    bool condizione=true;
    int k=0;
    while(k<da && condizione)
    {
        if((funz(a[k],b,db)))
        k++;
        else
        return false;
    }
    return condizione;
}


Risposte
garnak.olegovitc1
Salve maschulillo,
se hai verificato, solamente, che ogni elemento di a è uguale alla somma di due elementi b, allora la condizione che ogni elemento di a è almeno la somma di due elementi di b è verificata, logicamente parlando. A meno che tu vuoi sapere tutti i casi possibili in cui un elemento di a è almeno la somma di due elementi di b, giusto? Ma per quanto riguarda la verifica dell'esercizio, e per ciò che dici, esso è concluso.
Cordiali saluti

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.