Einzelnen Beitrag anzeigen
  #2 (permalink)  
Alt 20.08.13
dave_hofmann dave_hofmann ist offline
Mitglied
 
Registriert seit: Aug 2013
Beiträge: 61
dave_hofmann befindet sich auf einem aufstrebenden Ast
Standard

Hallo Ca$hDigger,

habe mir dein Problem mal angeschaut und muss überlegen wie du das genau meinst. Liegen die Werte als Array vor oder sind es tatsächlich verschiedene Variablen? Im zweiten Fall ist es schon schwieriger, habe trotzdem eine Lösung.

Schau mal hier meine Lösung, vielleicht kannst du damit was anfangen.
Die erste Summenberechnung ist für die Arraylösung, die zweite für verschiedene Variablen. Hier ist der Trick, dass die Cases umgedreht angeordnet sind und per Fall Through verbunden sind.

Code:
#define MAX_NUMBER_OF_ELEMENTS 100

//Für den Fall das tatsächlich verschiedene Variablen gemeint sind
int var1;
int var2;
int var3;
int var4;
int var5;


int start()
{
   int summe;
   int aiInputArray[MAX_NUMBER_OF_ELEMENTS];//Es kann hier auch ein double verwendet werden, dann nur überall anpassen
   
   Comment("Summe:"+getSumOfArray(aiInputArray,5));
   if(getSumOfDifferentVars(summe,5) == TRUE)
   {
      Comment("Summe:"+summe);
   }
}

int getSumOfArray(int &aiInputArray[], int iNumberOfSumElements)//hier return Typ wahlweise auch double angeben, je nach Typ des Input-Array
{
   int iSumme = 0;//hier wahlweise auch double angeben, je nach Typ des Input-Array
   int i;
   
   for(i=0; ((i < iNumberOfSumElements) && (i < MAX_NUMBER_OF_ELEMENTS));i++)
   {
      iSumme += aiInputArray[i];
   } 
   return (iSumme);
}

int getSumOfDifferentVars(int &summe, int iNumberOfSumElements)
{
   bool retValue;
   
   retValue = TRUE;
   summe = 0;
   
   switch(iNumberOfSumElements)
   {
      case 5:
         summe += var5;
      case 4:
         summe += var4;     
      case 3:
         summe += var3;
      case 2:
         summe += var2;      
      case 1:
         summe += var1;
         break;
      default:
       retValue = FALSE;
       break;
   }
   return(retValue);
}
Viel Erfolg,

Dave