Raga in qst programma continua a dirmi k la funzione starmax non è dichiarata.... Dv è l'errore?? è inizializzata.. é sbagliata l'invocazione??
[code]#include<iostream>
using namespace std;
void leggiSequenza (int v[],int& lun);
int cifre (int x);
bool star(int x, const int *B, int lunB);
bool starMax(const int* A,int lunA,const int *B,int lunB);
bool maggiore (int x, const int* B, int lunB);
int main () {
int A [100];
int lunA;
leggiSequenza(A,lunA);
int B [100];
int lunB;
leggiSequenza(B,lunB);
if (starmax(A,lunA,B,lunB))
cout<<"OK"<<endl;
else
cout<<"NO"endl;
return 0;
}
void leggiSequenza(int v[],int& lun) {
lun=0;
int x;
cin>>x;
while (x!=0) {
v[lun]=x;
lun++;
cin>>x;
}
}
int cifre(int x) {
int count=0;
do {
x=x/10;
count++;
} while (x>0) ;
return count;
}
bool star(int x, const int* B, int lunB) {
int cifreX=cifre(x);
for (int i=0;i<lunB;i++)
if (cifre(B[i])==cifreX)
return true;
return false;
}
bool starmax (const int*A,int lunA,const int*B,int lunB) {
for (int i=0;i<lunA;i++) {
if (star(A[i],B,lunB)) {
if(!maggiore(A[i],B,lunB))
return false;
}
}
return true;
}
bool maggiore (int x, int const* B, int lunB) {
for (int i=0;i<lunB;i++)
if (B[i]>=x)
return false;
return true;
}
[/code]