Verifica condizione somma elementi tra due array
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
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
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
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