Beispiel #1
0
 int sommaDiscendenti(int x, Albero a) {
   if(a != NULL){
     return somma(find(x,a));
   }
   else return 0;  
 }
Beispiel #2
0
int main()					
{
	double n, ris=0;
	char op;
	cout<<"ELENCO OPERAZIONI DISPONIBILI:\n"<<endl;
	cout<<"somma (+)"<<endl;			
	cout<<"sottrazione (-)"<<endl;
	cout<<"prodotto (*)"<<endl;
	cout<<"divisione (/)"<<endl;
	cout<<"inverso di un numero (!)"<<endl;
	cout<<"potenza (^)"<<endl;
	cout<<"radice quadrata (R)"<<endl;	
	cout<<"visualizzazione risultato (=)"<<endl;

	cout<<"\n\nPrimo numero: ";						
	cin>>ris;
	while (op!='='){
		cout<<"Operatore: ";
		cin>>op;
		switch (op)									
		{
		case '+': 
			cout<<"Secondo numero: ";
			cin>>n;	  
			ris=somma(ris,n);				
			break;
		case '-':
			cout<<"Secondo numero: ";
			cin>>n;   
			ris=sott(ris,n);			
		    	break;
		case '*': 
			cout<<"Secondo numero: ";
			cin>>n;
			ris=prodotto(ris,n); 
			break;					
		case '/': 
			cout<<"Secondo numero: ";
			cin>>n;
			ris=divisione(ris,n); 
			break;
		case '!': 
			ris=inverso(ris); 
			break;
		case '^': 
			cout<<"Secondo numero: ";
			cin>>n;
			while(ris==0 && n<0){
				cout<<"Errore! Reinserire il secondo numero (maggiore di 0)(In base alla scelta dei matematici): ";
				cin>>n;
			}
			ris=potenza(ris,n); 
			break;
		case 'R': 
			ris=radice(ris); 
			break;						
		case '=': 
			cout<<ris<<endl; 
			break;
	
		default: cout<<"operazione non possibile"<<endl; 
		}
	}
	getchar();
	return 0;
}
Beispiel #3
0
 /** da' come risultato
   la somma dei valori di tutti gli elementi */
 int somma(Albero a) {
 return a== NULL ?0:a->element+somma(a->left)+somma(a->right);
 }