Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Hausaufgabe Informatik C++

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
11.06.2008, 15:39 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von ao:

Warum haben Profs und Assistenten nicht eine gewisse Durchgängigkeit in ihren Übungen?



Weils Profs und Assistenten sind und jeder sich profilieren will und jede Vorlesung/Übung ist ja die bessere gegenüber den anderen ... und da was zu verwenden was aus einer anderen übung stammt oder es identisch zu machen wie der andere wäre ja gotteslästerung ...
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
11.06.2008, 15:59 Uhr
~whoop
Gast


ja klar hab ich bei MEINEM Thread einen Ansatz gebracht ...

www.fun-soft.de/showtopic.php?threadid=19528

mfg whoop
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
11.06.2008, 19:30 Uhr
~Dan Gerous
Gast



Zitat:

...Buch in die Hand und lernen?! Dreister geht's ja wohl nicht mehr; nicht mal angefangen, schon aufgegeben, und jetzt sollen wir das hier schön säuberlich durchkauen?





Sorry Leute, ich hatte eigentlich noch nen 2. Post gemacht wo der Quellcode drin stand. Anscheinend war der Sicherheitscode falsch und den hats nich abgeschickt.

Hier nochmal der Code:


C++:
// Beschreibung:
//Als erstes wird der Nutzer dazu aufgefordert, die Messwerte einzugeben.
//Mit diesen Messwerten wird eine einfach verketteten Liste aufgebaut, welche
//nochmals überprüft wird, ob sie auch korrekt aufgebaut ist. Als nächstes wird
//das arithmetische Mittel der Messwerte gebildet und zurückgegeben. Nachdem der
//Nutzer die größtmögliche Abweichung angegeben hat, überprüft das Programm alle
//Abweichungen der Messwerte vom Mittelwert. Ist die Abweichung größer als die
//vom Nutzer eingegebene, so wird das Element gelöscht und die Anzahl der
//vorhandenen Elemente zurückgegeben. Als letztes werden die Elememte sortiert
//ausgegeben.

#include <iostream>
#include <string.h>
using namespace std;

//Eingabe der Messwerte durch den Nutzer

struct digit
      { float f;
       digit*pNext;
       };
      
int generate(digit*&pA)
{ int a,i;
// neue Liste anlegen
if(pA==NULL)
   {  pA=new digit;
      cout<<"Wie viel Messwerte wollen Sie eingeben? \t";
      cin>>a;
      cout<<"Bitte geben Sie jetzt Ihre Messwerte ein: \n";
      for(i=1;i<=a;i++) {  
          cout<<i<<". Messwert: \n";
          cin>>pA->f;
          pA->pNext=NULL;
      };
//Elemente an vorhandene Liste anfügen
           if(pA!=NULL);
           {   digit*pErsatz=pA;
//pErsatz muss auf letztes Element zeigen
    while(pErsatz->pNext!=NULL)
    {   pErsatz=pErsatz->pNext;   }
    digit*pNeu;
    pNeu=new digit;
    cout<<" Wie viel Messwerte wollen Sie hinzufügen? \t";
    cin>>a;
    cout<<" Bitte geben Sie die Messwerte ein: \n";
    for (i=1;i<=a;i++)
    {   cout<<i<<". Messwert: \n";
        cin>>pNeu->f;
        pNeu->pNext=NULL;
        pErsatz->pNext=NULL;
    };
};
if(pA!=NULL) { return 1; }
             else return 0;
};


//Berechnung des Durchschnitts

float get_mean(digit * pA);{
      float sum=0;
      float durchschnitt=0.0;
      int anz=0;
      digit*pHilf=pA;
      
      if(pA==NULL) {
                  
                  cout<<" Es kann kein Durchschnitt gebildet werden, da sich \n";
                  cout<<" keine Elemente in der Liste befinden \n";
      };
      if(pA!=NULL){
                  
                  while(pHilf!=NULL) {  
                  
                      sum=sum+pHilf->f;
                      anz=anz+1;
                      pHilf=pHilf->pNext;
                  };            
                  durchschnitt=sum/anz;
                  cout<<endl;
                  cout<<"Die Summe bträgt "<<sum<<endl;
                  cout<<"Die Anzahl ist "<<anz<<endl;
                  cout<<"Der Durchschnitt beträgt "<<durchschnitt<<endl;
                  };
                  return durchschnitt;
} ;          


// Löschen der Elemente, welche außerhalb des Toleranzbereiches vom Mittelwert abweichen

int delete_elements(digit * &pA, float mean, float divergency);{
    digit*pHilf=pA;
    digit*pHilf2;
    float mean;
    float divergency;
    float abw1=mean+mean*(divergency/100);
    float abw2=mean-mean*(divergency/100);
    int geloescht=0;

    cout<<"Elemente kleiner als "<<abw2<<" und größer als "<<abw1<<" werden gelöscht.";
    cout<<endl;
//falls erstes Element gelöscht wird
    if(pHilf!=NULL){
                    
                   if((pHilf->f>abw1) || (pHilf->f<abw2))
                   {   pA=pHilf->pNext;
                       delete pHilf;
                       geloescht++;
                   };
// alle anderen Elemente
    while (pHilf->pNext!=NULL) {
          
          if((pHilf->f>abw1) || (pHilf->f<abw2)){  
              pHilf2=pHilf->pNext;
              pHilf->pNext=pHilf2->pNext;
              delete pHilf2;
              geloescht++;
              }
          else { pHilf=pHilf->pNext; }
    };
return geloescht;
};

//Ausgabe der Elemente
void print_elements(digit*&pA);{
    
     digit*pHilf=pA;
     int nummer=0;
     while (pHilf!=NULL){  
         cout<<pHilf->f<<"\t";
         nummer++;
         if (nummer%5==0)
         { cout<<endl; }
     };
};

//Hauptprogramm
int main(); {
    
    digit*pA=0;
    int ausw=0;
    float mean,div;
    int erfolg;
    int anzahl=0;
    
    do {
        cout<<"Bitte wählen Sie aus:"<<endl;
        cout<<" 1 Neue Liste erstellen oder ergänzen"<<endl;
        cout<<" 2 Durchschnitt der Werte bilden"<<endl;
        cout<<" 3 Löschen bestimmter Werte"<<endl;
        cout<<" 4 Ausgabe der Werte"<<endl;
        cin>>ausw;
        switch(ausw){
                    
                    case 1: generate(pA);
                            erfolg=generate(pA);
                            if (erfolg==1)
                            { cout<<"Die Liste wurde erfolgreich erstellt/ergänzt"<<endl; }
                            else { cout<<"Das Erstellen der Liste ist fehlgescglagen"<<endl; }
                            ausw=0;
                            break;
                    case 2: mean=get_mean(pA);
                            ausw=0;
                            break;
                    case 3: if(mean==0)
                            { mean=get_mean(pA); }
                            cout<<endl;
                            cout<<"Um wie viel Prozent sollen die Werte höchstens vom Mittelwert abweichen?";
                            cin>>div;
                            cout<<endl;
                            anzahl=delete_elements(pA,mean,div);
                            cout<<"Es wurden "<<anzahl<<" Elemente gelöscht"<<endl;
                            ausw =0;
                            break;
                    case 4: print_elements(pA);
                            ausw =0;
                            break;
                    default:cout<<"ungültige Eingabe";
                    };
                    }
          while ((ausw<1) || (ausw>4));
          cin>>ausw;
}
}
}





Bearbeitung:

Codetags sind sinnvoll ...


Dieser Post wurde am 11.06.2008 um 20:18 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: