Bitte um Kontrolle eines kleinen C Programms

Der Daedalus

Commander
Registriert
Jan. 2002
Beiträge
2.266
Hallo,

musste mir für die Arbeit ein kleines Progrämmchen schreiben um berechnen, wie viele Ausschussteile bei bestimmten Prozessbedingungen produziert werden.
Normalverteilung der Messwerte wird angenommen.
Eingabegrößen sind:
Standardabweichung (s), Mittelwert (xm), Obere Toleranz (OT), Untere Toleranz (UT).

An einem Beispiel:

Bei eine Toleranz von +/- 0.75, einer Standardabweichung von 0.3 und einem Mittelwert von 0.2 sind laut Programm 3,41% Ausschuss! (erscheint mir sehr wenig)

Könnte das vllt. jemand kontrollieren? Ich wüsst nicht, wie ich das so von Hand machen kann.

Hier das Programm:

#include <math.h>
#include <iostream.h>

double gauss (double s, double xm, double x)
{
double ergebnis, zw1, zw2;
zw1=1/(s*sqrt(2*3.141592654));
zw2=exp(-1*((x-xm)*(x-xm))/(2*(s*s)));
ergebnis=zw1*zw2;
// cout<<zw1<<"\t"<<zw2<<"\t";
return(ergebnis);
}

double flaeche (double y, double a, double b)
{
double flaeche=0;
flaeche=(a-b)*y;
if (flaeche<0) flaeche=flaeche*(-1);
return(flaeche);
}

void main ()
{
double xm, s, OT, UT, bereich, x, f1=0, a, b, y, f2;
int i;
const int n=100;
cout<<"Bitte geben sie die obere Toleranz an: ";
cin>>OT;
cout<<"Bitte geben sie die untere Toleranz an: ";
cin>>UT;
cout<<"Bitte geben sie den Mittelwert an: ";
cin>>xm;
cout<<"Bitte geben sie die Standardabweichung (1*Sigma) an: ";
cin>>s;
bereich=(OT-UT)/(2*n);
x=UT+bereich;
a=UT;
b=UT+(2*bereich);
for(i=0;i<n;i++)
{
y=gauss(s,xm,x);
f1=f1+flaeche(y,a,b);
a=b;
b=b+(bereich*2);
x=x+(bereich*2);
// cout<<"\t"<<a<<"\t"<<y<<"\n";
}
f2=1-f1;
cout<<"\n\nDie Flaeche im Breich ausserhalb der Toleranz betraegt: "<<f2<<"\n";
}
 
Dazu müsste ich nen Taschenrechner haben der die Gausfunktion integrieren kann ...

Ich hab das über das Programm ja numerisch gelöst. Von Hand wäre das n haufen Arbeit.
 
Könnte das jemand bitte für mich kompilieren und hier reinstellen? Irgendwie hat das zumailen zur Arbeit nicht geklappt und hier hab ich keinen compiler
 
Zurück
Oben